ich wollte hier gerade eine Anfrage stellen, wie eine Checkbox beim Anklicken seinen eigene Schrift und vor allem die Schriftfarbe wechselt. Bei einer "angekreuzten" Checkbox soll die Schriftart verkleinert (10 Punkt), kursiv und in Blau erscheinen, bei "nicht angekreuzt" soll die Schriftart "Calibri 11" sein. Mein Script hatte das fast alles hinbekommen, außer die Schriftfarbe, die blieb immer nur schwarz. Dann bin ich beim Basteln eines Beispiel-Scriptes für das Forum selber auf die Lösung gekommen, finde das Ergebnis aber ein wenig "überraschend" und möchte es daher hier veröffentlichen, zumal auch die Hilfe hierzu nichts ausweist.
Dieses Script läuft wie gewünscht:
Code: Select all
#NoEnv
#SingleInstance force
Gui, Font, cBlack s11, Calibri ; --> cBlack ist ausschlaggebend!
Gui, Add, Tab3,, Tab
Gui, Add, Checkbox, gCheck vCB1, Checkbox-Text 1
Gui, Add, Checkbox, gCheck vCB2, Checkbox-Text 2
Gui, Add, Checkbox, gCheck vCB3, Checkbox-Text 3
Gui, Show, Autosize, Checkbox
Return
Check:
GuiControlGet, CBID, Focus ; Control-ID bei Focus
GuiControlGet, Status,, %CBID% ; Status
CheckBoxColor(Status, CBID) ; setze neuen Font
Return
CheckBoxColor(State, Button)
{
Gui, Font, % State = 1 ? "cBlue s10 Norm Italic"
: State = 0 ? "cBlack s11 Norm"
: "cDefault"
GuiControl, Font, %Button%
}
GuiEscape:
Gui, Minimize
Return
GuiClose:
Gui, Destroy
ExitApp
Anders ist es mit der Schriftgröße und der Schriftart. Diese lassen sich später auch dann ändern, wenn sie hier nicht "voreingestellt" werden.
All das zur Info, damit andere User sich vielleicht nicht stundenlang mit der Suche nach eigenen Fehlern machen müssen, so wie ich (oder hätte ich das vielleicht irgendwo finden können?)
HG - Lucky Joe