📄 serverdlg.h
字号:
// ServerDlg.h : header file
//
#if !defined(AFX_SERVERDLG_H__F92AACFF_72E1_47AB_B7F7_DE94963FDA4D__INCLUDED_)
#define AFX_SERVERDLG_H__F92AACFF_72E1_47AB_B7F7_DE94963FDA4D__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
//
/////////////////////////////////////////////////////////////////////////////
// CServerDlg dialog
class CServerDlg : public CDialog
{
// Construction
public:
CServerDlg(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CServerDlg)
enum { IDD = IDD_SERVER_DIALOG };
CRichEditCtrl m_Sendmsg;
CRichEditCtrl m_Listmsg;
//}}AFX_DATA
//
void OnAccept(int nErrorCode); // 接收连线的处理函数
void OnReceive(int nErrorCode); // 接收传来信息时的处理函数
//
struct _tagAsyncSocket : public CAsyncSocket
// 建立一个结构使这个结构能继承CAsyncSocket类别,
// 此结构主要是用来 Overlap Receive() 这个CAsyncSocket 的函数成员
{
_tagAsyncSocket(CServerDlg* pSocket) { m_pSocket = pSocket; };
// 结构的建构者, 接受一个CServerDlg 类别指针的参数
virtual void OnAccept(int nErrorCode)
{
if (nErrorCode == 0)
// 如果没有发生错误, 则调用CServerDlg的函数成员OnAccept().
m_pSocket->OnAccept(nErrorCode);
else
::ShowErrorMessage(::GetDesktopWindow(), GetLastError());
};
virtual void OnReceive(int nErrorCode)
{
if (nErrorCode == 0)
// 如果没有发生错误, 则调用CServerDlg的函数成员OnReceive().
m_pSocket->OnReceive(nErrorCode);
else
::ShowErrorMessage(::GetDesktopWindow(), GetLastError());
};
CServerDlg *m_pSocket;
};
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CServerDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
HICON m_hIcon;
// Generated message map functions
//{{AFX_MSG(CServerDlg)
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
afx_msg void OnDestroy();
afx_msg void OnDisconnect(); // 中断连线的处理程序
afx_msg void OnSendbtn(); // 传送信息的处理程序
afx_msg void OnSetupconnect(); // 连线设定
afx_msg void OnChange(); // 输入的信息视窗中的内容发生改变
//}}AFX_MSG
struct _tagAsyncSocket *m_pListen;
// ASyncSocket 的对象指针, 用来建立连线
struct _tagAsyncSocket *m_pSocket;
// AsyncSocket 的对象指针, 当接受连线后负责Receive与Send动作的指针
CString m_lpszName;
//
void SetupIcon(int nID = 2); // 设定连线时的图示, 内定值为2表示未连线
//
DECLARE_MESSAGE_MAP()
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_SERVERDLG_H__F92AACFF_72E1_47AB_B7F7_DE94963FDA4D__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -