Mehrere Tasten

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

Mehrere Tasten

Beitrag von Green Snake »

Hallo Zusammen

habe folgende frage, die für euch kein problem darstellen sollte:

wei kann ich "tastenkürzel" erstelln?
habe schon in der hilfe nachgeschaut, klappt aber nicht
also:
ich will, dass wenn ich (hier im beispiel) auf
CTRL + ALT + Q drücke, (nur wenn diese drei gleichzeitig gedrück werden)

ein messagerequester erscheint.

wie geht das?
Zuletzt geändert von Green Snake am 20.05.2005 12:19, insgesamt 2-mal geändert.
-.-"
Benutzeravatar
zigapeda
Beiträge: 1753
Registriert: 06.03.2005 17:22
Wohnort: Kaufbeuren
Kontaktdaten:

Beitrag von zigapeda »

Hast du ein ganz normales fenster (openwindow) oder ein DirektX fenster (openscreen)?
Leo
Beiträge: 420
Registriert: 26.10.2004 18:26
Wohnort: Hessen
Kontaktdaten:

Beitrag von Leo »

Meinst du sowas?

Code: Alles auswählen

Repeat
    If GetAsyncKeyState_(#VK_ESCAPE)
        Quit = #True 
    EndIf
    If GetAsyncKeyState_(#VK_CONTROL)
        If GetAsyncKeyState_(#VK_MENU)
            If GetAsyncKeyState_(#VK_Q)
                ;Code hier
                MessageRequester("Ctrl + Alt + Q","Hier passiert was! Escape zum Beenden")
            EndIf
        EndIf
    EndIf
    Delay(10)
Until Quit = #True 
End 
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Re: Mehrere Tasten

Beitrag von Danilo »

Green Snake hat geschrieben:wei kann ich "tastenkürzel" erstelln?
Mit AddKeyboardShortcut()

Kombinieren kannst Du die Tasten mit einem binären Oder:

Code: Alles auswählen

If OpenWindow(0,0,0,200,200,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"KBD Shortcut")
  AddKeyboardShortcut(0,#PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Q,100)
  AddKeyboardShortcut(0,#PB_Shortcut_Alt|#PB_Shortcut_X,101)
  
  Repeat
    Select WaitWindowEvent()
      Case #PB_Event_CloseWindow
        End
      Case #PB_Event_Menu
        Select EventMenuID()
          Case 100
            MessageRequester("INFO","Shortcut Control+Strg+Q")
          Case 101
            End
        EndSelect
    EndSelect
  ForEver
EndIf
Getestet auf Linux.
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Antworten