MainDlg.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. // MainDlg.h : 头文件
  2. //
  3. #pragma once
  4. #include "IOCPModel.h"
  5. // CMainDlg 对话框
  6. class CMainDlg : public CDialog
  7. {
  8. // 构造
  9. public:
  10. CMainDlg(CWnd* pParent = NULL); // 标准构造函数
  11. // 对话框数据
  12. enum { IDD = IDD_PIGGYIOCPSERVER_DIALOG };
  13. protected:
  14. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
  15. // 实现
  16. protected:
  17. HICON m_hIcon;
  18. // 生成的消息映射函数
  19. virtual BOOL OnInitDialog();
  20. afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
  21. afx_msg void OnPaint();
  22. afx_msg HCURSOR OnQueryDragIcon();
  23. // 开始监听
  24. afx_msg void OnBnClickedOk();
  25. // 停止监听
  26. afx_msg void OnBnClickedStop();
  27. // "退出"按钮
  28. afx_msg void OnBnClickedCancel();
  29. ///////////////////////////////////////////////////////////////////////
  30. // 系统退出的时候,为确保资源释放,停止监听,清空Socket类库
  31. afx_msg void OnDestroy();
  32. //afx_msg LRESULT OnNewMsg(WPARAM wParam,LPARAM lParam);
  33. DECLARE_MESSAGE_MAP()
  34. private:
  35. // 初始化Socket库以及界面信息
  36. void Init();
  37. // 初始化List控件
  38. void InitListCtrl();
  39. public:
  40. // 当前客户端有新消息到来的时候,在主界面中显示新到来的信息(在类CIOCPModel中调用)
  41. // 为了减少界面代码对效率的影响,此处使用了内联
  42. inline void AddInformation(const CString strInfo)
  43. {
  44. CListCtrl* pList = (CListCtrl*)GetDlgItem(IDC_LIST_INFO);
  45. pList->InsertItem(0,strInfo);
  46. }
  47. private:
  48. CIOCPModel m_IOCP; // 主要对象,完成端口模型
  49. };