Seite 1 von 1
Suche spezielle key-funktion
Verfasst: 13.08.2006 20:05
von Rockmaster
Hi Leute!
Ich hab ne frage...
gibt es eine Funktion oder kann man einigermaßen unkompliziert eine erstellen die als rückgabewert die taste hat die gedrückt wurde?
weil für jede einzelne taste eine abfrage zu machen wär etwas kompliziert!
Verfasst: 13.08.2006 20:06
von Kaeru Gaman
welche oberfläche?
Verfasst: 13.08.2006 20:10
von edel
console = RawKey()
screen/dx = KeyboardInkey()
window = #wm_keyup / #wm_keydown usw...
Verfasst: 13.08.2006 20:11
von Kaeru Gaman
spielverderber...
haste heute deinen kurz-und-knackig-tag, wa?

Verfasst: 13.08.2006 20:13
von Rockmaster
Sry hab vergessen das hinzuschreiben
Ich meine im window!
Nur wie meinst du das mit den konstanten(#wm_key...)?
Verfasst: 13.08.2006 20:13
von edel
muss gleich zur arbeit , wollte mir nur etwas die Zeit vertreiben
Code: Alles auswählen
OpenWindow(0,10,10,300,300,"")
Repeat
event = WaitWindowEvent()
If event = #WM_CHAR
Char.c = EventwParam()
Debug Chr(Char)
EndIf
Until event = #WM_CLOSE
Verfasst: 13.08.2006 20:45
von bluejoke
Uh, wo wir doch im Anfängerforum sind, kann ich gleich mal die Frage erweitern: Wie erhalte ich nun auch die anderen Tasten wie F1-F12, sowie Umschalt, Strg und so weiter?
Gleichmal ein Danke,
Simon
Verfasst: 13.08.2006 21:32
von AND51
Ich wollt nochmal auf GetAsyncKeyState_() hinweisen. Da gibt's auch die Konstanten #VK_F1, #VK_SHIFT, etc. Es gibt sogar Konstanten, womit man bei speziellen Tastaturen die Lauter/Leiser-Taste usw. abfragen kann!
Verfasst: 13.08.2006 22:47
von Falko
bluejoke hat geschrieben:Uh, wo wir doch im Anfängerforum sind, kann ich gleich mal die Frage erweitern: Wie erhalte ich nun auch die anderen Tasten wie F1-F12, sowie Umschalt, Strg und so weiter?
Gleichmal ein Danke,
Simon
Wenn du nicht umbedingt nach gleichzeitigen Drücken von Tasten suchst,
könnte es z.B. so gehen wobei die Tasten hinterher noch
ausgewertet werden müssten.
Das ließe evt. sich mit z.B. "CASE von TO bis" erledigen.
Code: Alles auswählen
OpenWindow(0,10,10,300,300,"")
Repeat
event = WaitWindowEvent()
If event=#WM_KEYDOWN
Key.b=EventwParam()
Debug key
EndIf
SetFocus_(WindowID(0))
Until Event = #WM_CLOSE
[Edit] weiteres steht hier:
.......Remarks
The WM_CHAR message uses Unicode Transformation Format (UTF)-16.
Because there is not necessarily a one-to-one correspondence between keys pressed and character messages generated, the information in the high-order word of the lParam parameter is generally not useful to applications. The information in the high-order word applies only to the most recent WM_KEYDOWN message that precedes the posting of the WM_CHAR message.
For enhanced 101- and 102-key keyboards, extended keys are the right ALT and the right CTRL keys on the main section of the keyboard; the INS, DEL, HOME, END, PAGE UP, PAGE DOWN and arrow keys in the clusters to the left of the numeric keypad; and the divide (/) and ENTER keys in the numeric keypad. Some other keyboards may support the extended-key bit in the lParam parameter.
Verfasst: 14.08.2006 00:06
von bluejoke
Ay, das klingt doch noch 'n bisschen komplizierter. Ich werd dann mal schauen ob und wo ich das benötige.