向父窗體發送消息 ,這裡只講發送 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號
可以通過下面的方式查到