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

📄 chatdlg.h

📁 WInsock32的客户端哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈
💻 H
字号:
#if !defined(AFX_CHATDLG_H__2ED704A1_5774_4073_9B3F_F005A1407CA3__INCLUDED_)
#define AFX_CHATDLG_H__2ED704A1_5774_4073_9B3F_F005A1407CA3__INCLUDED_

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

/////////////////////////////////////////////////////////////////////////////
// CChatDlg dialog
#include "resource.h"
#include "ChatSocket.h"
#include "afxwin.h"
class CChatDlg : public CDialog
{
// Construction
public:
	CChatDlg(CWnd* pParent = NULL);						//被动聊天窗口
	CChatDlg(CWnd* pParent, const CUserInfo &peerInfo,
				const CUserInfo &userInfor);			//在线/离线窗口
	CChatDlg(CWnd* pParent, CChatPacket *pPacket);		//显示离线消息窗口
	
	virtual ~CChatDlg();
// Dialog Data
	//{{AFX_DATA(CChatDlg)
	enum { IDD = IDD_CLIENT_CHAT_DIALOG };
	CEdit	m_ctlOutput;
	CEdit	m_ctlInput;
	//}}AFX_DATA


// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CChatDlg)
	public:
	virtual BOOL PreTranslateMessage(MSG* pMsg);		//处理键盘消息
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

public:
	BOOL	InitSocket(void);							//创建套接字
	BOOL	ConnectToPeer(void);						//连接对方
	void	ProcessPendingRead(void);					//接收数据

	void	DisplayRecvMessage(CChatPacket *pPacket);	//显示消息
	void	DisplayOfflineMessage(CChatPacket *pPacket);//显示离线消息
	
	void	SendPeerMessage(void);						//发送消息	
	
	void	InitArchive(void);							//初始化读入文档
	void	SetPeerInfor(CUserInfo &peerInfo);			//设置对方信息
	void	SetUserInfor(CUserInfo &userInfo);			//设置用户信息
	CChatSocket *GetChatSocket(void);					//返回CChatSocket指针
protected:
 	void DisplaySentMessage();							//显示发送的离线消息
	void DisplaySentMessage(CChatPacket *pPacket);		//显示发送的在线消息


	// Generated message map functions
	//{{AFX_MSG(CChatDlg)
	virtual BOOL OnInitDialog();
	afx_msg void OnDestroy();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
public:
	CString		m_strRec;			//聊天记录
private:
	CChatSocket	*m_pSocket;			//套接字指针
	CSocketFile	*m_pFile;			//文件指针	
	CArchive	*m_pArchiveIn;		//读文档指针
	CArchive	*m_pArchiveOut;		//写文档指针
	CUserInfo	m_PeerInfo;			//对方信息
	CUserInfo	m_UserInfo;			//用户信息
	CChatPacket *m_pOfflinePacket;	//离线数据包
	BOOL		m_bOfflineWnd;		//判断是否为显示离线消息窗口
public:
	afx_msg void OnBnClickedButton3();
	CString FilePath;
};

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

#endif // !defined(AFX_CHATDLG_H__2ED704A1_5774_4073_9B3F_F005A1407CA3__INCLUDED_)

⌨️ 快捷键说明

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