向父窗体发送消息 ,这里只讲发送 WM_NOTIFY 消息, 其它消息是相同的
在 控件中的某个函数中 设置发送消息的程序
首先定义一个WM_NOTIFY消息的专用结构.
1
2
3
4
5
6
7
8
9
10
11
|
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的虚函数
1
2
3
4
5
6
7
8
9
10
|
{ if (( UINT )wParam == IDC_CUSTOM2) { AfxMessageBox(_T( "成功" )); } return CDialogEx::OnNotify(wParam, lParam, pResult); } |
IDC_CUSTOM2 这是任何一个资源都会有的一个ID号
可以通过下面的方式查到
以上所述就是本文的全部内容了,希望大家能够喜欢。