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 :oops:
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 :D

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.