Probleme mit PreTranslateMessage



  • Hi,

    ich habe ein einfaches Dialogfenster und will jetzt Überprüfen, ob die SPACE-Taste gedrückt wurde. Darum habe ich folgenden Code in meine Source-Datei eingefügt:

    bool CZaehlerDlg::PreTranslateMessage(MSG* pMsg)
    {
    	if(pMsg->message==WM_KEYDOWN)
    	{
    		if(pMsg->wParam==VK_SPACE)
    		{
    			//MACHT WAS.
    		}
    	}
    
    	return CDialog::PreTranslateMessage(pMsg);
    }
    

    Wo müsste ich diese Funktion jetzt deklarieren, damit folgender Fehler nicht mehr erscheint:

    Member-Funktion nicht in 'CZaehlerDlg' deklariert.

    VIELEN DANK.
    V.K.



  • Na wo wohl - natürlich in der Klassendefinition der CZaehlerDlg 😉 (dort als "virtual BOOL PreTranslateMessage( MSG* pMsg );")

    (btw, die MFC arbeitet nicht mit "bool", sondern mit "BOOL")



  • Hi.

    das hatte ich probiert, aber das VIRTUAL habe ich vergessen und es gab darum ein paar Fehlermeldungen.
    DANKE!
    V.K.


  • Mod

    Kann nicht sein! Das virtual muss in der abgeleiteten Klasse nicht angegeben werden, wenn ansonsten die Signatur stimmt.


Anmelden zum Antworten