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 :D

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... :wink:

Ulf