VC 中自定义消息的方法 2009-07-13 17:22 第一: 简易版本: 定义一个自定义消息号:const UINT WM_MYMESSAGE = WM_USER + n; // 自定义消息一般大于WM_USER ,然后就可以为该消息添加映射了 afx_msg LRESULT OnMyMessage ( WPARAM wParam, LPARAM lParam ); ON_MESSAGE ( WM_MYMESSAGE, OnMyMessage ) LRESULT cxx::OnMyMessage ( WPARAM wParma, LPARAM lParam ) {
} 如果该消息不需要返回值,也不需要参数,那么可以使用宏ON_MESSAGE_VOID来映射 afx_msg void OnMyMessage (); ON_MESSAGE_VOID ( WM_MYMESSAGE, OnMyMessage ) void cxx::OnMyMessage () {
} 复杂全面版本: 消息映射、循环机制是 Windows程序运行的基本方式
VC++ MFC 中有许多现成的消息句柄,可当我们需要完成其它的任务,需要自定义消息,就遇到了一些困难
在 MFC ClassWizard中不允许添加用户自定义消息,所以我们必须在程序中添加相应代码,以便可以象处理其它消息一样处理自定义消息
通常的做法是采取以 下步骤: 第一步:定义消息
推荐用户自定义消息至少是 WM_USER+100,因为很多新控件也要使用WM_USER消息
#define WM_MY_MESSAGE (WM_USER+100) 第二步:实现消息处理函数
该函数使用WPRAM和 LPARAM参数并返回LPESULT
LPESULT CMainFrame::OnMyMessage(WPARAM wP