Ereignis Keydown
-
Ich habe ein Problem beim abfangen von Tastatureingaben.
Ich will, das bei "F1","F2" und "1" eine Funktion ausgeführt wird, aber be "1" klappt es nicht VK_1 wird nicht als Konstante erskannt. WARUM?Hier der Code
BOOL CTestDlg::PreTranslateMessage(MSG* pMsg) { if( uMessage==WM_KEYDOWN || uMessage==WM_KEYUP ) { if((pMsg->lParam & 0xFFFF) <= 1)// die ersten 16 Bits des lParam's enthalten die Anzahl der Wiederholungen, { // ich brauche nur einmaliges Drücken switch( (int)pMsg->wParam ) {// wParam enthält das virtuelle Tastenkode case VK_F2: // F2 <-- klappt OnF2(); return 1; case VK_F3: // F3 <-- klappt OnF3(); return 1; case VK_1: // Taste "1" <-- klappt nicht On1() ; return 1; } } }return CDialog::PreTranslateMessage(pMsg);
}Jemand eine Idee?
-
versuch domal herrauszubekommmen, welchen Code "1" überhaupt hat
also schreib in die PreTranselateMessage() funktion:
CString s; s.Format("%d", (int)pMsg->wParam); AfxMessageBox(s);und das was die MessageBox anzeigt musst du dann einfach einsetzten
mfg Emperor_L0ser