Seite 1 von 1

Mehrere Tasten

Verfasst: 17.03.2005 20:06
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?

Verfasst: 17.03.2005 20:12
von zigapeda
Hast du ein ganz normales fenster (openwindow) oder ein DirektX fenster (openscreen)?

Verfasst: 17.03.2005 20:16
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 

Re: Mehrere Tasten

Verfasst: 17.03.2005 20:36
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.