又探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);