Tasten erkennen mit 4.0

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
R4z0r1989
Beiträge: 521
Registriert: 12.06.2005 18:06
Kontaktdaten:

Tasten erkennen mit 4.0

Beitrag von R4z0r1989 »

Weiß einer den befehl womit man erkennen kann welche taste gedrückt wird auf der tastatur!

bei 3.94 weis ich es aber wie gehts bei 4.0
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

auch bei der 4.0 ist ne Hilfe dabei...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
R4z0r1989
Beiträge: 521
Registriert: 12.06.2005 18:06
Kontaktdaten:

Beitrag von R4z0r1989 »

ja aber da steht nix wie ich es ohne console und ohne Screen machen kann!!
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

AddKeyboardShortcut( ?
#WM_KEYUP
GetAsyncKeyState_(

oder für ein bestimmtes Control?
Was geht denn in 3.94 was unter 4.0 nicht geht, bevor ich noch 20 Arten
aufzähle :freak:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

> ja aber da steht nix wie ich es ohne console und ohne Screen machen kann!!

weines wissens stand da bei 3.94 auch nix!!
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
R4z0r1989
Beiträge: 521
Registriert: 12.06.2005 18:06
Kontaktdaten:

Beitrag von R4z0r1989 »

GetAsyncKeyState_() get irgendwie net
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Badboy99 hat geschrieben:GetAsyncKeyState_() get irgendwie net
Bei mir gehts, vielleicht ist Deine Tastatur kaputt

Was geht nicht???
Kann keiner konkrete Fragen mit Beispiel stellen?
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
#NULL
Beiträge: 2238
Registriert: 20.04.2006 09:50

Beitrag von #NULL »

@badboy99
GetAsyncKeyState_() ist WinAPI, das heißt du kannst es nicht mit der PB-Demo nutzten.

AddKeyboardShortcut() wird in der hilfe zur Keyboard-Library erwähnt - in 3.94 und 4
my pb stuff..
Bild..jedenfalls war das mal so.
Benutzeravatar
DataMiner
Beiträge: 220
Registriert: 10.10.2004 18:56

Beitrag von DataMiner »

... oder er versucht es mit EventwParam(), ist leider auch nicht dokumentiert.

BTW: um mich mal dreisterweise hier anzuhängen:
Wie stellt man es genau andersherum dar? Also Taste "1" auf der Tastatur wird gedrückt und jetzt soll das Buttongadget 1 "gedrückt" gezeigt werden???
__________________________________________
Weniger glauben - mehr wissen!
------------------------------------------------------
Proud beneficial owner of SpiderBasic, PureBasic 3.x, 4.x, 5.x and PureVisionXP
Benutzeravatar
DataMiner
Beiträge: 220
Registriert: 10.10.2004 18:56

Beitrag von DataMiner »

OK, hab's selbst herausgefunden
(so halbwegs <) )

Code: Alles auswählen

;PB4 Code

#WindowHeight = 100
#WindowWidth = 200
Dim btnhdle(3)
If OpenWindow(1, 0, 0, #WindowWidth, #WindowHeight, "Button-Test", #PB_Window_ScreenCentered | #PB_Window_SystemMenu)
  If CreateGadgetList(WindowID(1))
    For i = 1 To 3
      btnhdle(i)=ButtonGadget(i, 30, i * 30 - 20, #WindowWidth - 60, 20, Str(i))
    Next i
    
    SetActiveGadget(1)
    
    Repeat
      WindowEventID = WaitWindowEvent()
      EventwParam= EventwParam() & $FFFF
      
      Select WindowEventID
        Case #PB_Event_Gadget
          Debug "Button " + Str(EventGadget()) + " wurde angeklickt."
        Case #WM_KEYUP
          Debug EventwParam
          
          Select EventwParam
          
            Case 13
              Debug "Button " + Str(GetActiveGadget()) + " wurde mit <Enter> ausgewählt."
              
            Case 97 ; Taste 1 im Num-Block
              SetActiveGadget(1)
              SendMessage_(btnhdle(1), #BM_SETSTATE, #True, 0)
              
            Case 98 ; Taste 2 im Num-Block
              SetActiveGadget(2)
              SendMessage_(btnhdle(2), #BM_SETSTATE, #True, 0)
              
            Case 99 ; Taste 3 im Num-Block
              SetActiveGadget(3)
              SendMessage_(btnhdle(3), #BM_SETSTATE, #True, 0)
              
          EndSelect
          
      EndSelect

    Until WindowEventID = #PB_Event_CloseWindow
  EndIf
EndIf 
Zuletzt geändert von DataMiner am 03.09.2006 19:40, insgesamt 2-mal geändert.
__________________________________________
Weniger glauben - mehr wissen!
------------------------------------------------------
Proud beneficial owner of SpiderBasic, PureBasic 3.x, 4.x, 5.x and PureVisionXP
Antworten