005
22.11.2005, 11:44 Uhr
Spacelord
Hoffnungsloser Fall
|
Jetzt willst du es aber wissen was? Also da müsste ich mich jetzt auch erstmal wieder reindenken aber in etwa sollte dabei folgendes rauskommen:
Im Dialog die Nachricht an den Contrtoller weiterleiten:
C++: |
BOOL CNotifyDlg::OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo) { if(! controller->OnCmdMsg(nID,nCode,pExtra,pHandlerInfo)) return CDialog::OnCmdMsg(nID, nCode, pExtra, pHandlerInfo); else return TRUE; }
|
Im Controller die Nachricht abfangen:
C++: |
BOOL CController::OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo) { if(nCode==CBN_DROPDOWN) { if(nID==IDC_COMBO2) { AfxMessageBox("Nachricht vom Controller abgefangen!"); return TRUE; } }
return CCmdTarget::OnCmdMsg(nID, nCode, pExtra, pHandlerInfo); }
|
Wobei ich dafür jetzt keine Gewähr übernehme . Insbesondere müsste man sich im Einzelfall nochmal genau anschauen wann man TRUE oder FALSE zurückgibt weil die Controls ja trotz allem "ihren" Code ausführen müssen. Da müsste ich selber nochmal in den besagten Artikel niggeln .
MfG Spacelord -- .....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes. Dieser Post wurde am 22.11.2005 um 11:44 Uhr von Spacelord editiert. |