xbeK_ALT
Moderator: Moderatoren
xbeK_ALT
Hallo,
ich habe eine Frage zur Tastaturabfrage.
In meiner Event-Schleife frage ich das Tastatur-Ereignis ab. Danach überprüfe ich auf die verschiedenen Tasten um darauf zu reagieren.
Jetzt möchte ich, dass beim Drücken der Taste ESC, genau das passiert, was ausgelöst wird, wenn ich bei Existenz eines Menüs die ALT-Taste drücke. Also das Focus setzen auf den Menüpunkt 1 ohne das Menü zu öffnen.
Dazu habe ich folgendes geschrieben in der Schleife.
if mp1 == xbeK_ESC
nEvent := xbeP_Keyboard
mp1 := xbeK_ALT
endif
Mit diesem Code tut sich aber nichts.
wenn ich statt dessen für den TastenCode die Konstante xbeK_ALT_D einsetze, funktioniert es, aber halt nicht wie ich es möchte sondern mit der direkten Auswahl des 1. Punktes.
Ich habe mal versucht die Alt-Taste separat abzufangen.
Der Code innerhalb der IF-Verzweigung wird nicht ausgeführt aber das Event schon? (hatte als Test ne MsgBox anzuzeigen, die kam nicht aber das Menü wurde aktiviert)
Hat jemand schon mal mit der Alt-Taste gearbeitet, oder weiß wie ich da weiterkomme?
Danke schon mal, Ralf...
ich habe eine Frage zur Tastaturabfrage.
In meiner Event-Schleife frage ich das Tastatur-Ereignis ab. Danach überprüfe ich auf die verschiedenen Tasten um darauf zu reagieren.
Jetzt möchte ich, dass beim Drücken der Taste ESC, genau das passiert, was ausgelöst wird, wenn ich bei Existenz eines Menüs die ALT-Taste drücke. Also das Focus setzen auf den Menüpunkt 1 ohne das Menü zu öffnen.
Dazu habe ich folgendes geschrieben in der Schleife.
if mp1 == xbeK_ESC
nEvent := xbeP_Keyboard
mp1 := xbeK_ALT
endif
Mit diesem Code tut sich aber nichts.
wenn ich statt dessen für den TastenCode die Konstante xbeK_ALT_D einsetze, funktioniert es, aber halt nicht wie ich es möchte sondern mit der direkten Auswahl des 1. Punktes.
Ich habe mal versucht die Alt-Taste separat abzufangen.
Der Code innerhalb der IF-Verzweigung wird nicht ausgeführt aber das Event schon? (hatte als Test ne MsgBox anzuzeigen, die kam nicht aber das Menü wurde aktiviert)
Hat jemand schon mal mit der Alt-Taste gearbeitet, oder weiß wie ich da weiterkomme?
Danke schon mal, Ralf...
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9367
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Hallo, Ralf.
Ich mag mich irren, aber die Alt-Taste alleine löst m.E. kein Keyboard-Event aus. Ersatzweise könntest Du (in einem getrennten Thread?) mit AppKeyState(xbeK_ALT) ihren Status überwachen und dann mit PostAppEvent() irgendwas auslösen.
BTW, wir freuen uns über die Vorstellung neuer Forenmitglieder im "Guten Tag, mein Name ist ... und ich bin Programmierer"-Forum.
Ich mag mich irren, aber die Alt-Taste alleine löst m.E. kein Keyboard-Event aus. Ersatzweise könntest Du (in einem getrennten Thread?) mit AppKeyState(xbeK_ALT) ihren Status überwachen und dann mit PostAppEvent() irgendwas auslösen.
BTW, wir freuen uns über die Vorstellung neuer Forenmitglieder im "Guten Tag, mein Name ist ... und ich bin Programmierer"-Forum.
Herzlich,
Tom
Tom
Ok.Tom hat geschrieben:Hallo, Ralf.
Ich mag mich irren, aber die Alt-Taste alleine löst m.E. kein Keyboard-Event aus. Ersatzweise könntest Du (in einem getrennten Thread?) mit AppKeyState(xbeK_ALT) ihren Status überwachen und dann mit PostAppEvent() irgendwas auslösen.
Thread? Das muss ich mir erstmal anschauen, arbeite erst seit 2 Wochen mit Clipper.
Aber irgendein Event muss die Taste auslösen, sonst würde ja keine Aktion dahinterstehen können für das Menü. Nur welches?
MfG, Ralf
Zuletzt geändert von Wonderer am Fr, 07. Jul 2006 10:14, insgesamt 1-mal geändert.
seit 2 Wochen Clipper und 1 Woche XBase++ Alaska.brandelh hat geschrieben: nur mit Clipper oder auch mit Xbase++ ?
In Clipper gibt es die Tasten-Konstante xbeK_ALT nicht aber bei XBase++.
Daher nahm ich an man kann sie auch abfangen.
Welches Ereignis wird nun ausgelöst beim Drücken der Alt-Taste?
MfG, Ralf...
- Schubi
- Rekursionen-Architekt
- Beiträge: 139
- Registriert: Mi, 05. Okt 2005 15:10
- Wohnort: Wiesloch
- Hat sich bedankt: 5 Mal
In xBase++ wird kein Ereignis ausgelöst, lediglich ein Status-Wert wird gesetzt, den Du mit AppKeyState(xbeK_ALT) ermitteln kannst.Wonderer hat geschrieben: Welches Ereignis wird nun ausgelöst beim Drücken der Alt-Taste?
Das sind die Rückgabewerte:
APPKEY_IDLE - Die Taste ist nicht gedrückt
APPKEY_DOWN - Die Taste ist gedrückt
Grüße Steffen