简单问题!!请问如何对自定义消息 WM_MYMESSAGE 进行手工映射 简单问题!!请问如何对自定义消息 WM_MYMESSAGE 进行手工映射 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 增加自定义消息的步骤: 第一步:定义消息。开发Windows95应用程序时,Microsoft推荐用户自定义消息至少是WM_USER+100,因为很多新控件也要使用WM_USER消息。#define WM_MYMESSAGE 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_MAPEND_MESSAGE_MAP() 如果用户需要一个整个系统唯一的消息,可以调用SDK函数RegisterWindowMessage并使用ON_REGISTER_MESSAGE宏指令取代ON_MESSAGE宏指令,其余步骤同上。 define a message function:afx_msg void OnMyMessage()MESSAGE_MAP:ON_MESSAGE( WM_MYMESSAGE , OnMyMessage) 这... 我不会MFC,不过ATL里倒是简单,自己加几行就是了MFC跟这个一个道理的吧 BEGIN_MSG_MAP(CWebExUserList) MESSAGE_HANDLER(WM_MYMESSAGE, OnMyMessage) END_MSG_MAP() LRESULT OnMyMessage(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); 请问Wbemperf.dll怎么调用 皮肤,,皮肤,,百分相送。 画刷等为什么要先保存原先的呢 求C++关于execel编程的资料 在桌面窗口中画线的问题 有什么好的办法寻找导致内存泄漏的程序段? 萝卜白菜,各有所爱 在线等:为什么点ok和cancel的结果会一样啊! 如何取得打印机所有的分辨率? 知道进程的句柄,怎么得到进程对应的窗口啊! 问个网络基础的问题(不是网络编程和socket)。 如何实现串口的阻塞传输
#define WM_MYMESSAGE 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()
如果用户需要一个整个系统唯一的消息,可以调用SDK函数RegisterWindowMessage并使用ON_REGISTER_MESSAGE宏指令取代ON_MESSAGE宏指令,其余步骤同上。
afx_msg void OnMyMessage()
MESSAGE_MAP:
ON_MESSAGE( WM_MYMESSAGE , OnMyMessage)
MFC跟这个一个道理的吧
BEGIN_MSG_MAP(CWebExUserList)
MESSAGE_HANDLER(WM_MYMESSAGE, OnMyMessage)
END_MSG_MAP()
LRESULT OnMyMessage(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);