Seite 1 von 1
ComboBoxGadget richtig abfragen
Verfasst: 18.07.2005 11:11
von Delle
Folgende Version springt immer sofort an:
Code: Alles auswählen
If EventID=#PB_Event_Gadget And EventGadgetID()=3001
MessageRequester("",Str(GetGadgetState(3001)),0)
EndIf
Und die Version reagiert gar nicht:
Code: Alles auswählen
If EventID=#PB_Event_Gadget And EventGadgetID()=3001 And EventType()=#PB_EventType_LeftClick
MessageRequester("",Str(GetGadgetState(3001)),0)
EndIf
Ich brauche lediglich eine Abfrage die mir nach Änderung (!) der Box den Status liefert, mit #PB_EventType_Change geht es irgendwie auch nicht.
Verfasst: 18.07.2005 12:52
von Batze
Wie wärs denn mit ner Variable, die den Wert speichert.
Code: Alles auswählen
Gadget_3001 = 0
If EventID=#PB_Event_Gadget And EventGadgetID()=3001 and Gadget_3001 <> getgadgetstate(3001)
MessageRequester("",Str(GetGadgetState(3001)),0)
Gadget_3001 = getgadgetstate(3001)
EndIf
Verfasst: 18.07.2005 15:08
von Delle
Gute Idee! Nur ist ja der 1. Eintrag in der Combo auch gleich "0"...
Verfasst: 18.07.2005 15:16
von ts-soft
Nehmt einfach mal: #PB_EventType_RightClick auch wenn's unlogisch ist
Verfasst: 18.07.2005 15:19
von Delle
Unlogisch, aber funzt! Danke!

Verfasst: 18.07.2005 15:23
von ts-soft
Delle hat geschrieben:Unlogisch, aber funzt! Danke!

Bei solchen Sachen am besten im CodeArchiv nachsehen, da ist ein Beispiel drinnen, das ohne Angaben von Gründen die rechte Taste abfragt. Hab das Problem auch schon mal gehabt

Verfasst: 19.07.2005 09:06
von walker
Delle hat geschrieben:Gute Idee! Nur ist ja der 1. Eintrag in der Combo auch gleich "0"...
und wenn kein Eintrag ausgewählt ist, liefert
Getgadgetstate() -1 zurück...
Also einfach am Anfang die Variable auf -1 setzten und Du bekommst richtigerweise 0 wenn der 1. Eintrag ausgewählt wurde...
Ulf