Chinaunix首页 | 论坛 | 博客
  • 博客访问: 16497167
  • 博文数量: 5645
  • 博客积分: 9880
  • 博客等级: 中将
  • 技术积分: 68081
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-28 13:35
文章分类

全部博文(5645)

文章存档

2008年(5645)

我的朋友

分类:

2008-04-28 20:53:52

下载本文示例代码
  消息映射、循环机制是Windows程序运行的基本方式。VC MFC 中有许多现成的消息句柄,可当我们需要完成其它的任务,需要自定义消息,就遇到了一些困难。在MFC ClassWizard中不允许添加用户自定义消息,所以我们必须在程序中添加相应代码,以便可以象处理其它消息一样处理自定义消息。通常的做法是采取以下步骤:  第一步:定义消息。  推荐用户自定义消息至少是WM_USER 100,因为很多新控件也要使用WM_USER消息。 #define WM_MY_MESSAGE (WM_USER 100)   第二步:实现消息处理函数。该函数使用WPRAM和LPARAM参数并返回LPESULT。 LPESULT CMainFrame::OnMyMessage(WPARAM wParam, LPARAM lParam) { // TODO: 处理用户自定义消息 ... return 0; }   第三步:在类头文件的AFX_MSG块中说明消息处理函数: class CMainFrame:public CMDIFrameWnd { ... // 一般消息映射函数 protected: // {{AFX_MSG(CMainFrame) afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); afx_msg void OnTimer(UINT nIDEvent); afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam); //}}AFX_MSG DECLARE_MESSAGE_MAP() }  第四步:在用户类的消息块中,使用ON_MESSAGE宏指令将消息映射到消息处理函数中。 BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWnd) //{{AFX_MSG_MAP(CMainFrame) ON_WM_CREATE() ON_WM_TIMER() ON_MESSAGE(WM_MY_MESSAGE, OnMyMessage) //}}AFX_MSG_MAP END_MESSAGE_MAP()共4页。 1 2 3 4 :   消息映射、循环机制是Windows程序运行的基本方式。VC MFC 中有许多现成的消息句柄,可当我们需要完成其它的任务,需要自定义消息,就遇到了一些困难。在MFC ClassWizard中不允许添加用户自定义消息,所以我们必须在程序中添加相应代码,以便可以象处理其它消息一样处理自定义消息。通常的做法是采取以下步骤:  第一步:定义消息。  推荐用户自定义消息至少是WM_USER 100,因为很多新控件也要使用WM_USER消息。 #define WM_MY_MESSAGE (WM_USER 100)   第二步:实现消息处理函数。该函数使用WPRAM和LPARAM参数并返回LPESULT。 LPESULT CMainFrame::OnMyMessage(WPARAM wParam, LPARAM lParam) { // TODO: 处理用户自定义消息 ... return 0; }   第三步:在类头文件的AFX_MSG块中说明消息处理函数: class CMainFrame:public CMDIFrameWnd { ... // 一般消息映射函数 protected: // {{AFX_MSG(CMainFrame) afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); afx_msg void OnTimer(UINT nIDEvent); afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam); //}}AFX_MSG DECLARE_MESSAGE_MAP() }  第四步:在用户类的消息块中,使用ON_MESSAGE宏指令将消息映射到消息处理函数中。 BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWnd) //{{AFX_MSG_MAP(CMainFrame) ON_WM_CREATE() ON_WM_TIMER() ON_MESSAGE(WM_MY_MESSAGE, OnMyMessage) //}}AFX_MSG_MAP END_MESSAGE_MAP()共4页。 1 2 3 4 : 下载本文示例代码


MFC中自由使用自定义消息MFC中自由使用自定义消息MFC中自由使用自定义消息MFC中自由使用自定义消息MFC中自由使用自定义消息MFC中自由使用自定义消息MFC中自由使用自定义消息MFC中自由使用自定义消息MFC中自由使用自定义消息MFC中自由使用自定义消息MFC中自由使用自定义消息MFC中自由使用自定义消息MFC中自由使用自定义消息MFC中自由使用自定义消息MFC中自由使用自定义消息
阅读(192) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~