加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C++ Custom Control控件向父窗体发送对应的消息

发布时间:2020-12-16 03:31:16 所属栏目:百科 来源:网络整理
导读:向父窗体发送消息,这里只讲发送 WM_NOTIFY 消息,其它消息是相同的 在 控件中的某个函数中 设置发送消息的程序 首先定义一个WM_NOTIFY消息的专用结构. NMHDR nm;nm.code = 123456; // 这里是消息的区别代码nm.hwndFrom = m_hWnd;//这是控件的HWND句柄nm.idFro

向父窗体发送消息,这里只讲发送 WM_NOTIFY  消息,其它消息是相同的

在 控件中的某个函数中 设置发送消息的程序

  首先定义一个WM_NOTIFY消息的专用结构.

NMHDR nm;
nm.code = 123456; // 这里是消息的区别代码
nm.hwndFrom = m_hWnd;//这是控件的HWND句柄
nm.idFrom = GetDlgCtrlID();//这是得到的对话框的ID

CWnd* pWnd;
  pWnd = GetParent(); //得到父窗体 窗口
  if (pWnd != NULL)
  {
    pWnd->SendMessage(WM_NOTIFY,nm.idFrom,(LPARAM)&nm); //向父窗体发送消息
  }

这样就可以将消息发送到父窗体了.

在父窗体的代码中,只需要处理WM_NOTIFY消息就可以了,也就是实现on_notify的虚函数

BOOL CMyControlDlg::OnNotify(WPARAM wParam,LPARAM lParam,LRESULT* pResult)
{

  if ((UINT)wParam == IDC_CUSTOM2)
  {
    AfxMessageBox(_T("成功"));
  }
  return CDialogEx::OnNotify(wParam,lParam,pResult);
}
 

IDC_CUSTOM2  这是任何一个资源都会有的一个ID号

可以通过下面的方式查到

 

以上所述就是本文的全部内容了,希望大家能够喜欢。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读