Seite 1 von 1

#PB_Event_Menu und #PB_Event_Gadget gleichzeitig abfragen?

Verfasst: 29.07.2006 14:37
von Delle
Dieser Check hat mir gute Dieste geleistet, nur leider geht ja mit PB4 anscheinend #PB_EventType_ReturnKey nicht mehr :-(

Funktion: Text absenden wenn "Absenden"-Button gedrückt wurde, oder "Return" im Eingabefeld.

Code: Alles auswählen

If EventID = #PB_Event_Gadget

If (EventGadget()=#String_0 And EventType()=#PB_EventType_ReturnKey) Or EventGadget()=#Button_8
...
EndIf

EndIf
Ich habe nun einfach einen Shortcut angelegt:

Code: Alles auswählen

AddKeyboardShortcut(0, #PB_Shortcut_Return,15)
Wie frage ich dann aber nun ab, ob der Shortcut auftritt, WENN er im String_0 gedrückt wird? Den Shortcut erkennt er, mehr macht er aber auch nicht:

Code: Alles auswählen

If EventID = #PB_Event_Menu

Debug EventMenu()

If (EventGadget()=#String_0 And EventMenu()=15) Or EventGadget()=#Button_8
...
EndIf

EndIf

Verfasst: 29.07.2006 14:46
von ts-soft

Code: Alles auswählen

GetActiveGadget()

Verfasst: 29.07.2006 14:52
von MVXA
Syntax

Ergebnis = GetActiveGadget()
Beschreibung

Gibt die '#Gadget' Nummer des Gadgets zurück, welches gerade den Tastatur-Fokus hat. Wenn kein Gadget den Fokus hat, wird -1 zurückgegeben.

Beispiel:

Code: Alles auswählen

  If OpenWindow(0, 0, 0, 270, 70, "GetActiveGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))
    StringGadget  (0, 10, 10, 250, 20, "Press escape...")
    StringGadget  (1, 10, 40, 250, 20, "Press escape...")
    AddKeyboardShortcut(0, #PB_Shortcut_Escape, 1)
    SetActiveGadget(0)
    Repeat
      Event = WaitWindowEvent()
      If Event = #PB_Event_Menu And EventMenu() = 1
        MessageRequester("Test", "Escape pressed in Gadget " + Str(GetActiveGadget()))
      EndIf
    Until Event = #PB_Event_CloseWindow
  EndIf
Unterstützte OS

Alle