Seite 1 von 2
ComboBoxGadget - EventType - TextChange
Verfasst: 10.02.2006 08:04
von Ghosty
Hallo Leutz...
Gibt es eine Lösung, das "TextChange" Event, welches z.B. ein
StringGadget hat auch für eine editierbare ComboBox zu realisieren ?
Scheint ja kein von Haus aus unterstützter Event für die Combo zu sein.
cu...
Verfasst: 10.02.2006 17:05
von benpicco
Wie wär´s den mit sowas:
Code: Alles auswählen
Event=WindowEvent()
If Event=#PB_Event_Gadget
GadgetID=EventGadgetID()
If GadgetID=#deineComboBox
If GetGadgetText(#deineComboBox)<>altText$
Debug "Inhalt geändert"
altText$=GetGadgetText(#deineComboBox)
EndIf
EndIf
EndIf
Das Ganze lässt sich natürlich erweitern indem man altText$ in eine LinkedList eintragt und dan für jeden Eintrag einzeln prüft.
Verfasst: 10.02.2006 22:16
von edel
Code: Alles auswählen
;-
OpenWindow(0,0,0,425,80,1|#WS_SYSMENU,"")
If CreateGadgetList(WindowID(0))
ComboBoxGadget(0,10,10,395,300,#PB_ComboBox_Editable)
;fuellen der ComboBox
For i = 1 To 10
AddGadgetItem(0,-1,Str(i))
Next
;-
Repeat
Event = WaitWindowEvent()
If Event = #PB_Event_Gadget
If EventGadget() = 0 ; Unsere ComboBox
If EventType() = #CBN_EDITCHANGE ; ComboBox Event abfangen
Value.s = GetGadgetText(0)
SetWindowTitle(0,"ComboBoxGadget : 0 Value :" + Value)
EndIf
EndIf
EndIf
Until Event = #PB_Event_CloseWindow
;-
EndIf
End
Verfasst: 11.02.2006 09:54
von Ghosty
Super, danke Dir... funktioniert einwandfrei.
Allerdings hattest Du ein paar Fehler im Code *g*
Verfasst: 11.02.2006 14:15
von edel
Ghosty hat geschrieben:Super, danke Dir... funktioniert einwandfrei.
Allerdings hattest Du ein paar Fehler im Code *g*
z.B. ?
Verfasst: 11.02.2006 16:05
von Ghosty
If EventGadget() = 0 ; Unsere ComboBox
kommt immer die Fehlermeldung "EventGadget() is not a function, an array, or a linked list). Habs jetzt so gemächt und funktioniert
Code: Alles auswählen
Repeat
EventID = WaitWindowEvent()
GadgetID= EventGadgetID()
EventType=EventType()
If EventID = #PB_Event_Gadget
If GadgetID = 0
If EventType = #CBN_EDITCHANGE
Value.s = GetGadgetText(0)
SetWindowTitle(0,"ComboBoxGadget : 0 Value :" + Value)
EndIf
EndIf
EndIf
Until EventID = #PB_Event_CloseWindow
Gibts da eigentlich noch andere "unbekannte" EventTypes, wie z.B. GotFocus, LostFocus o.ä. wie sie in VB eingesetzt werden ?!
Verfasst: 11.02.2006 22:48
von edel
Aha ein paar also. Das ist kein Fehler . Du benutzt ~3.94 und der Code war
fuer 4.00. Haette es dazu schreiben sollen.
Verfasst: 12.02.2006 08:51
von Ghosty
Sorry, sollte auch keine Kritik sein. Bin ja dankbar, das Du mir geholfen hast.
Verfasst: 12.02.2006 09:27
von edel
Gibts da eigentlich noch andere "unbekannte" EventTypes, wie z.B. GotFocus, LostFocus o.ä. wie sie in VB eingesetzt werden ?!
Code: Alles auswählen
#PB_EventType_LeftClick : Klick mit der linken Maustaste
#PB_EventType_RightClick : Klick mit der rechten Maustaste
#PB_EventType_LeftDoubleClick : Doppelklick mit der linken Maustaste
#PB_EventType_RightDoubleClick : Doppelklick mit der rechten Maustaste
#PB_EventType_Focus : Fokus erhalten
#PB_EventType_LostFocus : Fokus verloren
#PB_EventType_Change : Inhalt hat sich geändert.
Verfasst: 12.02.2006 09:33
von Ghosty
Ja, die kenne ich... stehen ja auch in der Hilfe.
Aber ich dachte da mehr an sowas wie "#CBN_EDITCHANGE", der
nicht in der Hilfe von V3.94 steht. Es scheint ja schon einiges an
Event-Konstanten zu geben, was nicht so recht dokumentiert ist.