MFC SendMessage或PostMessage发送自定义消息

需求:当视图(发送消息)中绘制对象增加时,右侧对话框(接收消息)的树状控件Treectrl更新内容

解决方案:

1.在stdafx.h文件中 #define WM_DIALOGOK (WM_USER+1)

2.在树状控件所在的对话框的.h文件中添加

protected:
virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持
afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam);

DECLARE_MESSAGE_MAP()

3.在树状控件所在的对话框的.cpp文件中添加

EGIN_MESSAGE_MAP(CRightDockDialog, CDialogEx)
ON_MESSAGE(WM_DIALOGOK, OnMyMessage)

END_MESSAGE_MAP()

4.在树状控件所在的对话框的.cpp文件中添加OnMyMessage函数

LRESULT CRightDockDialog::OnMyMessage(WPARAM wParam, LPARAM lParam)
{
// TODO: 处理用户自定义消息   
return 0;

}

5.发送消息

结合上一篇博客,只是修改

HWND h = CRightDockDialog::Right_cwnd->GetSafeHwnd();

::PostMessage(h, WM_DIALOGOK, 0, 0);

完成啦

猜你喜欢

转载自blog.csdn.net/weixin_41485242/article/details/79463845
今日推荐