WM_USER
为了防止用户定义的消息ID与系统的消息ID冲突,MS(Microsoft)定义了一个宏WM_USER,小于WM_USER的ID被系统使用,大于WM_USER的ID被用户使用。
所以自定义消息的时候:
(一)现在头文件中定义自己消息的ID,如 #define WM_MY_FIRST_MESSAGE (WM_USER + 0x001)
(二)在定义自己的处理函数afx_msg void OnMyFirstMessage();
(三)在CPP文件中:
在BEGIN_MESSAGE_MAP 和END_MESSAGE_MAP代码块中添加,建议用户定义消息添加到//}}后面,
ON_MESSAGE(WM_MY_FIRST_MESSAGE, OnMyFirstMessage)
(四)最后定义函数。
CODE:
#define WM_MY_FIRST_MESSAGE (WM_USER + 0x001)
SendMessage(hDialg1,WM_MY_FIRST_MESSAGE,0,0);
头文件
afx_msg LRESULT OnMyFirstMessage(WPARAM wParam,LPARAM lPram);
消息映射
ON_MESSAGE(WM_MY_FIRST_MESSAGE, OnMyFirstMessage)
函数实现
LRESULT CDialog1::OnMyFirstMessage(WPARAM wParam,LPARAM lPram)
{
SetDlgItemTextW(IDC_STATIC_COUNT,L"ming hong test.");
return 0;
}
例如:主程序MyDlg.cpp
1.自定义消息:#define WM_TRAY WM_USER+100
2.函数原形:afx_msg LRESULT OnTrayNotify(WPARAM wParam,LPARAM lParam);
3.消息映射:ON_MESSAGE(WM_TRAY,OnTrayNotify)
4.原函数:
LRESULT CMyDlg::OnTrayNotify(WPARAM wParam,LPARAM lParam)
{
return m_tray.OnTrayNotify(wParam,lParam);
}
为了防止用户定义的消息ID与系统的消息ID冲突,MS(Microsoft)定义了一个宏WM_USER,小于WM_USER的ID被系统使用,大于WM_USER的ID被用户使用。
所以自定义消息的时候:
(一)现在头文件中定义自己消息的ID,如 #define WM_MY_FIRST_MESSAGE (WM_USER + 0x001)
(二)在定义自己的处理函数afx_msg void OnMyFirstMessage();
(三)在CPP文件中:
在BEGIN_MESSAGE_MAP 和END_MESSAGE_MAP代码块中添加,建议用户定义消息添加到//}}后面,
ON_MESSAGE(WM_MY_FIRST_MESSAGE, OnMyFirstMessage)
(四)最后定义函数。
CODE:
#define WM_MY_FIRST_MESSAGE (WM_USER + 0x001)
SendMessage(hDialg1,WM_MY_FIRST_MESSAGE,0,0);
头文件
afx_msg LRESULT OnMyFirstMessage(WPARAM wParam,LPARAM lPram);
消息映射
ON_MESSAGE(WM_MY_FIRST_MESSAGE, OnMyFirstMessage)
函数实现
LRESULT CDialog1::OnMyFirstMessage(WPARAM wParam,LPARAM lPram)
{
SetDlgItemTextW(IDC_STATIC_COUNT,L"ming hong test.");
return 0;
}
例如:主程序MyDlg.cpp
1.自定义消息:#define WM_TRAY WM_USER+100
2.函数原形:afx_msg LRESULT OnTrayNotify(WPARAM wParam,LPARAM lParam);
3.消息映射:ON_MESSAGE(WM_TRAY,OnTrayNotify)
4.原函数:
LRESULT CMyDlg::OnTrayNotify(WPARAM wParam,LPARAM lParam)
{
return m_tray.OnTrayNotify(wParam,lParam);
}