概述
子窗口向父窗口传递消息。
重要函数
PostMessage
- 功能
把消息投放到线程的消息队列 - 函数原型
BOOL PostMessage( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam );
- 函数参数
- hWnd 接收消息的窗口句柄
- Msg 消息 ID
- wParam 通常用来存储小段信息,如标志
- lParam 通常用于存储消息所需的对象
步骤
- 定义消息 ID
消息 ID 名称可以自定义#define WM_MESSAGE (WM_USER + 100)
- 发送消息
HWND hWndDlgParent = ::GetParent(); // 获取父窗口句柄 ::PostMessage(hWndDlgParent, WM_MESSAGE, 0, m_nResult);
- 添加宏定义
BEGIN_MESSAGE_MAP(CDlgTest, CDialog) ON_MESSAGE(WM_MESSAGE, RecvMessage) END_MESSAGE_MAP()
- 添加消息响应函数
afx_msg LRESULT RecvMessage(WPARAM wParam, LPARAM lParam); LRESULT CDlgTest::RecvMessage(WPARAM wParam, LPARAM lParam) { // TODO() return 0; }
网友评论