ComboBoxGadget - Ergebnis automatisch auswerten

Anfängerfragen zum Programmieren mit PureBasic.
sobi
Beiträge: 170
Registriert: 05.02.2005 23:41
Wohnort: passau
Kontaktdaten:

ComboBoxGadget - Ergebnis automatisch auswerten

Beitrag von sobi »

Hallo,
leider bring ich das nicht fertig, ein ComboBoxGadget automatisch auszuwerten, so wie das zb. bei Word die Größe automatisch geändert wird, stelle ich mir das vor.
Hat jemand ein Tipp wie ich das anstellen kann?

Code: Alles auswählen

  If OpenWindow(0,0,0,270,140,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"ComboBoxGadget") And CreateGadgetList(WindowID(0))
  
    ComboBoxGadget(1,10,40,250,100)
    For a=1 To 5 : AddGadgetItem(1,-1,"ComboBox item "+Str(a)) : Next

 
    Repeat
      Select EventWindowID() 
        Case #PB_Event_Gadget
          If EventWindowID() = 1
          Debug "test"
          EndIf
       EndSelect
    Until WaitWindowEvent()=#PB_Event_CloseWindow
    
  EndIf
Grüße,
Simon
Sorgen sind wie Blumen, wenn man sie nicht gießt, gehen sie ein.
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

die Event-Schleife ist murksig

So sollte es funktionieren:

Code: Alles auswählen

  Repeat
    EventID = WaitWindowEvent()
    Select EventID
      Case #PB_Event_Gadget
        If EventGadgetID() = 1
          Debug "test"
        EndIf
    EndSelect
  Until EventID=#PB_Event_CloseWindow
a²+b²=mc²
sobi
Beiträge: 170
Registriert: 05.02.2005 23:41
Wohnort: passau
Kontaktdaten:

Beitrag von sobi »

dankeschön Kiffi,

bei mir sieht das jetzt fertig so aus:

Code: Alles auswählen

  If OpenWindow(0,0,0,270,140,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"ComboBoxGadget") And CreateGadgetList(WindowID(0))
  
    ComboBoxGadget(1,10,40,250,100)
    For a=1 To 5 : AddGadgetItem(1,-1,"ComboBox item "+Str(a)) : Next
    auto = GetGadgetState(1)

    Repeat 
    EventID = WaitWindowEvent() 
    Select EventID 
      Case #PB_Event_Gadget 
        If EventGadgetID() = 1
          If auto = GetGadgetState(1)
          Else 
          auto = GetGadgetState(1)
          Debug auto
          EndIf
          
          

        EndIf 
    EndSelect 
  Until EventID=#PB_Event_CloseWindow 
    
  EndIf
Sorgen sind wie Blumen, wenn man sie nicht gießt, gehen sie ein.
Antworten