Seite 1 von 1

PanelGadget: welche GadgetItem ist?

Verfasst: 25.05.2019 14:00
von marcelx
Hallo,

ich möchte wissen (im repeat-loop) wissen welche panel aktive/angeklickt ist/wurde.

Code: Alles auswählen

If OpenWindow(0, 0, 0, 322, 220, "PanelGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  PanelGadget     (0, 8, 8, 306, 203)
    AddGadgetItem (0, -1, "Panel 1")
    AddGadgetItem (0, -1, "Panel 2")
      ButtonGadget(2, 10, 15, 80, 24,"Button 1")
      ButtonGadget(3, 95, 15, 80, 24,"Button 2")
  CloseGadgetList()
  Repeat
    ; welche panel aktive
    Event = WindowEvent() 
  Until Event = #PB_Event_CloseWindow
EndIf
Danke und Gruß
MarcelX

Re: PanelGadget: welche GadgetItem ist?

Verfasst: 25.05.2019 14:27
von NicknameFJ
Hallo mercelx,

ich würde es so lösen:

Code: Alles auswählen

If OpenWindow(0, 0, 0, 322, 220, "PanelGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  PanelGadget     (0, 8, 8, 306, 203)
  AddGadgetItem (0, -1, "Panel 1")
  AddGadgetItem (0, -1, "Panel 2")
  ButtonGadget(2, 10, 15, 80, 24,"Button 1")
  ButtonGadget(3, 95, 15, 80, 24,"Button 2")
  CloseGadgetList()
  Repeat
    ; welche panel aktive
    Event = WindowEvent()
    Gadget = EventGadget()
    Type   = EventType()
    
    Select Event
      Case #PB_Event_Gadget
        Select Gadget
          Case 0
            Select type
              Case #PB_EventType_Change
                Debug "Panel Nummer " + Str(GetGadgetState(0)+1) + " aktiviert"
                
            EndSelect
            
        EndSelect
        
    EndSelect
    
    
  Until Event = #PB_Event_CloseWindow
EndIf
Achtung: Die Panel Nummern fangen bei 0 an !

Grüße

NicknameFJ

Re: PanelGadget: welche GadgetItem ist?

Verfasst: 25.05.2019 15:26
von marcelx
Danke NicknameFJ,

so funktioniert.
Entscheidet war die Verwendung von #PB_EventType_Change und GetGadgetState()

Grüße
MarcelX