又探MFC(七)用户自定义消息
再探MFC(七)用户自定义消息
用途
- 回调函数通信
- 子对话框与父对话框通信,子对话框间通信
- 线程通信
用户自定义消息使用
step1
定义消息ID
例如Resource.h
#define LBD_SET_CALL_STATE_MESSAGE (WM_USER+100)
step2
消息处理
类视图选中要发往消息的对话框类,在属性视图中重写WindowProc
在TODO下添加代码处理用户自定义消息
switch (message)
{
caseLBD_SET_CALL_STATE_MESSAGE:
{
CString*pStr = (CString*)lParam;
if(pStr != NULL)
{
m_wndStatusBar.SetPaneText(0,*pStr);
deletepStr;
}
}
break;
}
step3
发送消息
CString* pStr = newCString(_T("呼叫") + strPhone);
::SendMessage(GetParent()->GetSafeHwnd(),LBD_SET_CALL_STATE_MESSAGE, NULL, (LPARAM)pStr);