Veröffentlicht 11. Juni 200718 j 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
11. Juni 200718 j 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.
13. Juni 200718 j Also in OnPreTranslateMessage solltest du die auf jeden Fall bekommen du musst sie halt nur richtig abfragen.
13. Juni 200718 j 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ß....
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.