Wieso löst OnKeyDown kein Ereignis aus
-
Ich habe in meinem Dialog ein OnKeyDown Ereignis jedoch wird dieser einfach nicht ausgelöst. Hier der Ausschnitt :
void CDia::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) { // TODO: Code für die Behandlungsroutine für Nachrichten hier einfügen und/oder Standard aufrufen AfxMessageBox ("Taste"); CDialog::OnKeyDown(nChar, nRepCnt, nFlags); }
OnKeyUp wird auch nicht ausgelöst . Muß ich dabei noch was beachten ??
-
Moin,
ich nehme mal an das du in deinem dialog steuerelmente hast. sofern die aktiv sind (auch wenn sie keine funktion auslösen, also auch Statictext u. ä.) wird das Klickereignis an die Steuerelemente weitergeleitet und OnKeyDown geht "leer" aus.
Möglichkeiten:- du deaktivierst alle Steuerelemente, während du auf eine eingabe wartest.
- du benutzt PreTranselateMessage()
BOOL TestDlg::PreTranslateMessage(MSG *pMsg) { if (pMsg->message == WM_KEYDOWN) { //Code zur weiteren Auswertung und Verarbeitung hier einfügen return 0; } return CDialog::PreTranslateMessage(pMsg); }
[ Dieser Beitrag wurde am 15.04.2003 um 21:03 Uhr von Emperor_L0ser editiert. ]