C++ Custom Control控件向父窗體發(fā)送對(duì)應(yīng)的消息
向父窗體發(fā)送消息 ,這里只講發(fā)送 WM_NOTIFY 消息, 其它消息是相同的
在 控件中的某個(gè)函數(shù)中 設(shè)置發(fā)送消息的程序
首先定義一個(gè)WM_NOTIFY消息的專用結(jié)構(gòu).
NMHDR nm; nm.code = 123456; // 這里是消息的區(qū)別代碼 nm.hwndFrom = m_hWnd;//這是控件的HWND句柄 nm.idFrom = GetDlgCtrlID();//這是得到的對(duì)話框的ID CWnd* pWnd; pWnd = GetParent(); //得到父窗體 窗口 if (pWnd != NULL) { pWnd->SendMessage(WM_NOTIFY, nm.idFrom, (LPARAM)&nm); //向父窗體發(fā)送消息 }
這樣就可以將消息發(fā)送到父窗體了.
在父窗體的代碼中,只需要處理WM_NOTIFY消息就可以了,也就是實(shí)現(xiàn)on_notify的虛函數(shù)
BOOL CMyControlDlg::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult) { if ((UINT)wParam == IDC_CUSTOM2) { AfxMessageBox(_T("成功")); } return CDialogEx::OnNotify(wParam, lParam, pResult); }
IDC_CUSTOM2 這是任何一個(gè)資源都會(huì)有的一個(gè)ID號(hào)
可以通過下面的方式查到
以上所述就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。
相關(guān)文章
深入探索C++ string的底層實(shí)現(xiàn)
C語(yǔ)言中的字符串是以字符數(shù)組的形式存儲(chǔ)的,每個(gè)字符占用一個(gè)字節(jié)的內(nèi)存空間,本文我們將和大家一起深入探討一下string的底層實(shí)現(xiàn),感興趣的小伙伴快來(lái)和小編一起吧2023-08-08用C語(yǔ)言求解一元二次方程的簡(jiǎn)單實(shí)現(xiàn)
這篇文章主要介紹了用C語(yǔ)言求解一元二次方程的簡(jiǎn)單實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11C++設(shè)置系統(tǒng)時(shí)間及系統(tǒng)時(shí)間網(wǎng)絡(luò)更新的方法
這篇文章主要介紹了C++設(shè)置系統(tǒng)時(shí)間及系統(tǒng)時(shí)間網(wǎng)絡(luò)更新的方法,涉及網(wǎng)絡(luò)程序設(shè)計(jì)與系統(tǒng)函數(shù)的使用,需要的朋友可以參考下2014-10-10