Dialog läßt keine WM_KEYDON zu.



  • Hi,

    Ich hab folgendes Problem, ich erzeuge einen Dialog (VC++ Resourceneditor!), nach Aufruf des Dialogs würde ich gern WM_KEYDOWN Ereignisse abfragen - doch leider werden keine Erzeugt - warum ???

    // Dialog erzeugen !
    phDlg = CreateDialog(((LPCREATESTRUCT)lParam)->hInstance, MAKEINTRESOURCE(IDD_DIALOG3), hWnd, DlgProc3);
    //Dialogprozedur !
    INT_PTR CALLBACK DlgProc3(HWND hdlg, UINT uMsg, WPARAM wParam, LPARAM lParam) // Reservierungsdialog
    {
    ...
    	case WM_KEYDOWN: // Nachricht wird nie Angezeigt
    		MessageBox(NULL,"test","test",NULL);
    		switch(LOWORD(wParam)) 
    		{ 
    		case VK_F1: 
    			MessageBox(NULL,"test F1","test",NULL);
    			return TRUE; 
    		} 
    		 return 0;
    
    ..
    }
    

    Hat jemand eine Idee was ich falsch gemacht habe ??

    MfG Unwissender 🙂



  • Du hast nichts falsch gemacht.

    Windows handelt normalerweise alle Tastatureingaben in der Dialogprozedur ab. Wenn Du manche Messages doch bekommen willst,
    muß Du auf die Message WM_GETDLGCODE entsprechend reagieren.

    z.B. mit

    case WM_GETDLGCODE: return (DLGC_WANTALLKEYS);



  • Danke ich werde es gleich mal testen 🙂

    MfG Unwissender


Anmelden zum Antworten