⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 contactview.h

📁 vc++6.0开发网络典型应用实例导航 1. 本光盘提供了本书中所有的实例源程序文件。 2. 附录文件夹下是Winsock 函数参考以及错误码列表
💻 H
字号:



#if !defined(AFX_CONTACTVIEW_H__339CA338_BC13_412D_8B39_076DE25E8510__INCLUDED_)
#define AFX_CONTACTVIEW_H__339CA338_BC13_412D_8B39_076DE25E8510__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// ContactView.h : header file
//

#include "Contact.h"
#include "Ipclass.h"

/////////////////////////////////////////////////////////////////////////////
// CContactView window

class CNotifyThread;
class CConversationThread;
class CFileSendThread;
class CTaskBarMsgWnd;
class CListenSocket;

struct EMOTICON
{
	HBITMAP hBitmap;
	char szFileName[1024];
	char szActivationText[64];
};

class CContactView : public CListCtrl
{
// Construction
public:
	CContactView();
	
// Attributes
public:
	CWnd *mainWnd;

// Operations
public:
	CFont FontBold;

	CContact *AddContact(IP);
	CContact *GetContact(IP);
	CContact *GetFromListItem(int);

	void NewConversation(CContact *With, char *);
	bool DeleteContact(CContact *);
	void BuildList();
	void SetMeOffline(bool);
	void ChangeMyName(const char *);
//	void SetOffline(CContact *Contact);
	void SetOnline(IP HostName, CNetSocket*);
	void NotifyOthers();
	void MenuCmd(int item, int cmd);
	void LoadContacts();
	void SaveContacts();
	void Destroy();
	void ClaimSock(SOCKET Sock, CContact *Contact);
	void ChangeMyFont();
	void StartFileTransfer(HWND, CContact *Contact, bool Sending, char * = NULL, int = 0, unsigned long = 0);
	void AcceptSock();
	void AddEmoticon(char *szFileName, char *szActivationText);
	void LoadEmoticons();
	void DeleteEmoticons();

	CList <CContact *, CContact *> List;
	CList <CFileSendThread *, CFileSendThread *> Sends;
	CList <struct PLUGIN *, struct PLUGIN *> Plugins;
	CList <struct EMOTICON *, struct EMOTICON *> Emoticons;

	CListenSocket *ListenSocket;

	char cwd[2048];
	char File[2048];
	int SelItem;

	CContact Me;
	CNotifyThread *Notify;
	CTaskBarMsgWnd *LastPopup;

	long Load;
	bool ShowIps;
	int OfflineItem;

	HBITMAP bmConvBack;

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CContactView)
	public:
	virtual BOOL Create(DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID);
	protected:
	//}}AFX_VIRTUAL

// Implementation
public:
	virtual ~CContactView();

	// Generated message map functions
protected:
	CImageList *ButtonImageList;
	LRESULT OnSendMessage(WPARAM wParam, LPARAM lParam);
	LRESULT OnSockConnect(WPARAM wParam, LPARAM lParam);
	LRESULT OnDestroyThread(WPARAM wParam, LPARAM lParam);
	LRESULT OnBlockContact(WPARAM wParam, LPARAM lParam);
	LRESULT OnTypeNotify(WPARAM wParam, LPARAM lParam);
	LRESULT OnRequestSend(WPARAM wParam, LPARAM lParam);
	LRESULT OnCancelSend(WPARAM wParam, LPARAM lParam);
	LRESULT OnTransferComplete(WPARAM wParam, LPARAM lParam);
	LRESULT OnUpdateFont(WPARAM wParam, LPARAM lParam);
protected:
	CPalette m_pal;
	CBitmap m_bitmap;
	int m_cxBitmap, m_cyBitmap;
	//{{AFX_MSG(CContactView)
	afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
	afx_msg void OnClose();
	afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
	afx_msg void OnDropFiles(HDROP hDropInfo);
	afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
	afx_msg void OnTimer(UINT nIDEvent);
	afx_msg void OnClick(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
	afx_msg void OnIdrrightclickSendinstantmessage();
	afx_msg void OnIdrrightclickSendfile();
	afx_msg void OnIdrrightclickBlock();
	afx_msg void OnIdrrightclickDelete();
	afx_msg void OnRightclickmeSetnormalstatus();
	afx_msg void OnRightclickmeSetawaystatus();
	afx_msg void OnRightclickmeSetappearofflinestatus();
	afx_msg void OnRightclickmeChangescreenname();
	afx_msg void OnCustomdraw(NMHDR* pNMHDR, LRESULT* pResult);
	//}}AFX_MSG

	DECLARE_MESSAGE_MAP()
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_CONTACTVIEW_H__339CA338_BC13_412D_8B39_076DE25E8510__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -