schorschi Geschrieben 11. Juni 2007 Geschrieben 11. Juni 2007 Hallo zusammen, kann mir jemand sagen wie ich an Events der gedrückten Funktionstasten (F5-F10) komme ? Ich habe eine SDI Anwendung und im SDI-Fenster komme ich an die Info, wenn der User eine Funktiontaste gedrückt hat. Nun rufe ich einen Dialog per DoModal() auf und lade ein extra für diesen Dialog erstelltes Menue. In diesem Menue möchte ich ebenfalls mit den Funktionstasten arbeiten aber ich finde keine Möglichkeit wie ich da eine Nachricht abfangen kann. Alle beschreibungen bzw. Tutorils welche ich gefunden habe gehen nur von einem Standartmenue aus. danke Joerg Zitieren
Hexagon Geschrieben 11. Juni 2007 Geschrieben 11. Juni 2007 Moin, schonmal OnKeyDown(...) probiert? Oder PreTranslateMessage(...)? Zitieren
schorschi Geschrieben 11. Juni 2007 Autor Geschrieben 11. Juni 2007 Ja habe ich schon probiert. OnCommand, OnCmdMsg, OnKeyDown, OnSysCommand, OnSysKeyUp, OnSysKeyDown, OnSysChar, OnChar, OnMenuChar, OnSysDeadChar Ich habe alle Methoden eingebunden, welche irgendwie darauf hinweisen ein Ereignis abzufangen was von der Tastatur her kommt. Lediglich bei "F10" und der 'Return' Taste gelange ich in einer dieser Methoden um eingreifen zu können. Ich denke, das ich in der InitDialog irgendwas laden muß, damit im Dialog ebenfalls die Tastaturereignisse abfangen kann, wie gesagt, ist der Focus auf dem SDI-Fenster funzt es. Zitieren
Guybrush Threepwood Geschrieben 13. Juni 2007 Geschrieben 13. Juni 2007 Also in OnPreTranslateMessage solltest du die auf jeden Fall bekommen du musst sie halt nur richtig abfragen. Zitieren
schorschi Geschrieben 13. Juni 2007 Autor Geschrieben 13. Juni 2007 Hey, mittlerweile habe ich gemerkt das es wohl nicht reicht die Dialogklasse als Basis zu nehmen um ein Event abzufangen. Je nachdem welches Element des Dialoges (Eigabefeld, Listenfeld,...) den Fokus hat, hat jedes dieser Felder seine eigene Routine um einen Keydown abzufangen. Ich werde mir mal deinen Vorschlag mit OnPreTranslateMessage() anschauen. Es kann ja wohl nicht angehen, das ich bei jedem einzelnen Steuerelement eine OnKeyDown() separat für sich abfangen muß.... Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.