Suche spezielle key-funktion

Anfängerfragen zum Programmieren mit PureBasic.
Rockmaster
Beiträge: 105
Registriert: 28.04.2006 22:19

Suche spezielle key-funktion

Beitrag 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!
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

welche oberfläche?
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

console = RawKey()
screen/dx = KeyboardInkey()
window = #wm_keyup / #wm_keydown usw...
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

spielverderber...
haste heute deinen kurz-und-knackig-tag, wa? ;)
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Rockmaster
Beiträge: 105
Registriert: 28.04.2006 22:19

Beitrag von Rockmaster »

Sry hab vergessen das hinzuschreiben :oops:
Ich meine im window!
Nur wie meinst du das mit den konstanten(#wm_key...)?
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag 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
Benutzeravatar
bluejoke
Beiträge: 1244
Registriert: 08.09.2004 16:33
Kontaktdaten:

Beitrag 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
Ich bin Ausländer - fast überall
Windows XP Pro SP2 - PB 4.00
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag 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!
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
Falko
Admin
Beiträge: 3535
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit)
Kontaktdaten:

Beitrag 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.
Bild
Win11 Pro 64-Bit, PB_6.11b1
Benutzeravatar
bluejoke
Beiträge: 1244
Registriert: 08.09.2004 16:33
Kontaktdaten:

Beitrag von bluejoke »

Ay, das klingt doch noch 'n bisschen komplizierter. Ich werd dann mal schauen ob und wo ich das benötige.
Ich bin Ausländer - fast überall
Windows XP Pro SP2 - PB 4.00
Antworten