![]() |
Anzeige:
|
|
|||||||
| C/C++, Visual C++, Visual C++.NET Fragen und Antworten zu C/C++, Visual C++ und Visual C++.NET |
|
![]() |
|
|
LinkBack | Themen-Optionen | Ansicht |
|
|
#1 (Direktlink) |
|
Erfolgreich angemeldet
![]() Registriert seit: 20.07.2005
Ort: Winnenden
Beiträge: 24
|
Hallo,
Wir schreiben im Rahmen eines Softwarepraktikums eine Anwendung mit GUI für Windows. Wir verwenden Visual Studio 2005 und Windows XP und schreiben in C++. Das Problem ist, dass die Buttons, die wir auf dem Fenster der Anwendung platziert haben, auf Tastatureingaben reagieren, und das sollen sie nicht. Für die Fenster-Klasse haben wir Behandlungsmethoden für Tastaturereignisse geschrieben (KeyPressed, KeyDown usw.), und Tastaturereignisse sollen nur hier verarbeitet werden und nicht an die Buttons weitergeleitet werden. Wenn man Leertaste oder Enter drückt, sollen die Buttons nicht darauf reagieren. Kann jemand sagen, wie man das macht? Wir haben schon "Handled" in dem Methodenparameter des Typs KeyEvent (oder wie er genau heißt) auf true gesetzt, was wohl heißen soll, dass das Ereignis als erledigt gilt. Dies brachte aber nichts, das Ereignis wird trotzdem an die Buttons auf dem Fenster weitergeleitet. Bitte helft uns, da wir daran schon lange herumprobieren |
|
|
|
|
|
|
#2 (Direktlink) |
|
Gast
Beiträge: n/a
|
Einfach PreTranslateMessage überschreiben. Dann guckst du im PreTranslateMessage mit GetFocus ob es eine der Buttons den Focus hat und ob die Message ein WM_KEYDOWN ist. Wenn beides zutrifft, gibst du einfach ein TRUE zurück. Damit wird die Message nicht weiter behandelt.
|
|
![]() |
|
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
|
|