mfc子对话框给主对话框发送消息
专栏:web开发笔记 Sept. 25, 2025, 5:37 p.m. 10 阅读
介绍mfc程序中子对话框给主对话框发送消息的方法

一、子对话框发送消息

在子对话框中,通过GetParent找到主对话框。用主对话框的句柄->PostMessageW()来发送消息。同时传递一个int型的参数wParam。

CWnd* m_mainwin;
#define WM_MY_MESSAGE WM_USER+108

m_mainwin = GetParent()->GetParent();
m_mainwin->PostMessageW(WM_MY_MESSAGE, 33);

二、主对话框响应消息

先把消息映射到处理函数。

#define WM_MY_MESSAGE WM_USER+108

BEGIN_MESSAGE_MAP(CXXXDlg, CDialogEx)
    ON_MESSAGE(WM_MY_MESSAGE, OnReceiveMessage)
END_MESSAGE_MAP()

在处理函数中,判断收到的wParam数据,做不同的处理。

LRESULT CXXXDlg::OnReceiveMessage(WPARAM wParam, LPARAM lParam) {
    switch(wParam){
        case 33:
            // do something...
            break;
    }
    return 0;
感谢阅读,更多文章点击这里:【专栏:web开发笔记】
最新20篇 开设专栏