MFC 子窗体对话框向父窗体发送自定义消息

第一步,在resource.h中添加  static UINT WM_MSG_MYMSG = RegisterWindowMessage(_T("msg"));

第二步,在消息接受的窗体,对话框的类的头文件.h添加 

public:
    afx_msg LRESULT OnMsgReceive(WPARAM wParam, LPARAM lParam);

第三步,在消息接受的窗体,对话框的类的实现文件.cpp添加

LRESULT 你的对话框类::OnMsgReceive(WPARAM wParam,LPARAM lParam)
{
   //要做的事,其中 wParam 和  lParam 是消息发送过来的参数,用自定义指针强转一下就可以得到传递的值了
    return 0;
}

第四步,在MESSAGE_MAP中添加映射

BEGIN_MESSAGE_MAP(你的对话框类, CDialogEx)
    ON_REGISTERED_MESSAGE(WM_MSG_MYMSG,OnMsgReceive)  //为消息添加映射函数
END_MESSAGE_MAP()

第五步,在你想发送消息的地方发送消息

void 子类对话框::Onxxx(...)
{

    int r=5;

    WPARAM a=(WPARAM)this;//子窗体的本身的实例指针
    LPARAM b=(LPARAM)&r;  //一个int

    GetParent()->SendMessage(WM_MSG_MYMSG,a,b);

}

至此,子窗体向父窗体消息发送已经完成

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值