hi,
man kann ja vorwählen ob eine Checkbox markiert ist oder nicht.
bei einem klick auf eine Checkbox ändert sich Zustand UND der Codeblock Slot o:selected wird evaluiert.
Problem :
bei o:selection := .T. , was vor den o:Create steht, wird der Codeblock Slot nicht ausgeführt...
mit o:SetData(.T./.F.) ändere ich ja Programm technisch den Zustand aber ich muss manuelle ein EVAL(o:selected) durchführen...
für mich erscheint es unlogisch das keine Reaktion von dem XbPart erfolgt wenn der Zustand vom Programm geändert wurde, oder übersehe ich da was ?
XbpCheckbox:selection := .T. -> EVAL(o:selected)
Moderator: Moderatoren
- Werner_Bayern
- Der Entwickler von "Deep Thought"
- Beiträge: 2121
- Registriert: Sa, 30. Jan 2010 22:58
- Wohnort: Niederbayern
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 72 Mal
Re: XbpCheckbox:selection := .T. -> EVAL(o:selected)
Servus Jimmy,
verstehe Deine Frage nicht ganz. Wenn Du setdata(.t.) setzt, wird der editBuffer der Checkbox gesetzt und :editBuffer() liefert .t..
Selected wird grundsätzlich nur ausgeführt, wenn die Checkbox den Eingabefocus erhält - also selected wird - und dadurch sich ja gleichzeitig der Zustand ändert (aus .t. wird .f., aus .f. wird .t.).
Ich finde das Verhalten korrekt, dass durch setData() nicht auch gleich der selected-Codeblock feuert.
verstehe Deine Frage nicht ganz. Wenn Du setdata(.t.) setzt, wird der editBuffer der Checkbox gesetzt und :editBuffer() liefert .t..
Selected wird grundsätzlich nur ausgeführt, wenn die Checkbox den Eingabefocus erhält - also selected wird - und dadurch sich ja gleichzeitig der Zustand ändert (aus .t. wird .f., aus .f. wird .t.).
Ich finde das Verhalten korrekt, dass durch setData() nicht auch gleich der selected-Codeblock feuert.
es grüßt
Werner
<when the music is over, turn off the lights!>
Werner
<when the music is over, turn off the lights!>
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: XbpCheckbox:selection := .T. -> EVAL(o:selected)
aha ... den o:editbuffer hab ich vergessen ...Werner_Bayern hat geschrieben:Wenn Du setdata(.t.) setzt, wird der editBuffer der Checkbox gesetzt und :editBuffer() liefert .t..
ok ... dann so : i
ich setze o:selection := .T. / .F. -> ergibt sich zur Laufzeit
Frage : wie bekomme ich eine "Aktion" hin welche das selbe Ergebnis wie mit klick ergibt ?
in diesem Fall soll die Hintergrundfarbe, vor dem ersten Aufruf, die entsprechenden Farben haben.
gruss by OHR
Jimmy
Jimmy
- Werner_Bayern
- Der Entwickler von "Deep Thought"
- Beiträge: 2121
- Registriert: Sa, 30. Jan 2010 22:58
- Wohnort: Niederbayern
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 72 Mal
Re: XbpCheckbox:selection := .T. -> EVAL(o:selected)
Code: Alles auswählen
o:setdata(.not. o:editBuffer())
eval(o:selected(lWert))
setinputFocus(o)
es grüßt
Werner
<when the music is over, turn off the lights!>
Werner
<when the music is over, turn off the lights!>
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: XbpCheckbox:selection := .T. -> EVAL(o:selected)
hi,
hm ... vielleicht sollte ich eine eigene Class xyz FROM XbpCheckbox() schreiben wo ich mein eigenes o:SetData() einbaue ... oder gleich als "Pushlike" Button.
warum das ganz : ich finde das man eine Checkbox, besonders bei hoher Bildschirm Auflösung, nicht gut erkennen kann ob gesetzt oder nicht.
hm ... ja das wird wohl funktionieren ... aber es ist (noch) nicht das was ich mir vorgestellt habe.Werner_Bayern hat geschrieben:Code: Alles auswählen
o:setdata(.not. o:editBuffer()) eval(o:selected(lWert)) setinputFocus(o)
hm ... vielleicht sollte ich eine eigene Class xyz FROM XbpCheckbox() schreiben wo ich mein eigenes o:SetData() einbaue ... oder gleich als "Pushlike" Button.
warum das ganz : ich finde das man eine Checkbox, besonders bei hoher Bildschirm Auflösung, nicht gut erkennen kann ob gesetzt oder nicht.
gruss by OHR
Jimmy
Jimmy