hiho,
ich frage mich gerade ob und wie ich im nachhinein eine färbefunktion in meine GUIs bauen kann.
ich verwende nur koda sachen in meinen GUIs. dachte da an soetwas wie das wechseln der farbeinstellungen
für windows. wer hat einen tip ?
hiho,
ich frage mich gerade ob und wie ich im nachhinein eine färbefunktion in meine GUIs bauen kann.
ich verwende nur koda sachen in meinen GUIs. dachte da an soetwas wie das wechseln der farbeinstellungen
für windows. wer hat einen tip ?
Mit GUISetBkColor() in Verbindung mit dieser UDF http://www.autoitscript.com/forum/index.php?showtopic=96464 lässt sich bestimmt was schönes basteln.
Im prinzip reicht sowas:
#include <GUIConstantsEx.au3>
#Include <Misc.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 315, 145, 192, 124)
$Button1 = GUICtrlCreateButton("Button1", 256, 8, 49, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
GUISetBkColor(_ChooseColor(2))
EndSwitch
WEnd
Schnitzel bei deinem beispiel müsste ich das wohl mit jedem element einzeln machen... ich hatte gehofft das geht leichter. habe hier 12 GUIs in dem programm und sicher um die 200 elemente.
@ideas2code ich schaus mir das udf gleich mal an ....
ZitatSchnitzel bei deinem beispiel müsste ich das wohl mit jedem element einzeln machen... ich hatte gehofft das geht leichter. habe hier 12 GUIs in dem programm und sicher um die 200 elemente.
Dann würde ich an deiner Stelle die Gui's und die Controls in einem Array speichern. Dann kann man mit ner For schleife sehr schnell alles ändern.
(und es ist bei so vielen Elementen einfach schöner zum handln )
au man, das wir doch ne ganze menge aufwand für das bisschen farbe.
die udf + beispiele laufen bei mir nicht ...
kann man auch das ganze listview zeugs, messageboxen, buttons, inputfieldw...etc einfärben ?
Edit: ich hab gerade nochmal geschaut und "GUICtrlSetDefBkColor" gefunden. <- bei meiner gui passiert aber nix wenn ichs einfach hinterhänge ... laut beschreibung solls doch aber für die gesamte gui alles ändern!? Was hat es damit auf sich ?
Hallo wenn du es direkt nach der GUI-Erstellung schreibst klappt es:
#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]Local $msg
[/autoit] [autoit][/autoit] [autoit]GUICreate("Test GUISetTextColor", 100, 100) ; Erstellt ein GUI-Fenster welches mittig ausgerichtet wird
GUICtrlSetDefBkColor(0xFF0000) ; Ändert die Hintergrundfarbe für alle definierten Controls
GUICtrlCreateLabel("Label", 10, 5)
[/autoit] [autoit][/autoit] [autoit]GUICtrlCreateRadio("Radio", 10, 25, 50)
GUICtrlSetBkColor(-1, 0x0000FF) ; Ändert die Hintergrundfarbe für das Radio
GUICtrlCreateButton("Button", 10, 55)
[/autoit] [autoit][/autoit] [autoit]GUISetState() ; Zeigt eine leere Dialogbox
[/autoit] [autoit][/autoit] [autoit]; Die Schleife wiederholt sich, bis der Benutzer eine Beenden-Aktion auslöst
While 1
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then ExitLoop
WEnd
siehe dazu auch
Zitat von Hilfe zu GUICtrlSetBkColorBemerkungen
Derzeit können nur Button, Label, Checkbox, Group, Radio, Edit, Input, List, Listview, ListviewItem, Treeview, TreeviewItem, Graphic, Progress, Slider und Combo Controls eingefärbt werden.
Eine Progressbar kann nicht verändert werden, wenn der "Windows XP style" verwendet wird.
mfg Auto)Bert
Den Vorschlag von AutoBert kann man auch "automatisiert" nachträglich in den Sourcecode schreiben lassen . Wofür gibts AutoIt?
Eine Art CSS für GUI´s. Wäre eine Überlegung wert für die "Designfraktion".
stimmt ...so hats geklappt wie der autobernd gesagt hat, sieht aber irgendwie anders aus als erwartet.
während die knöpfe ohne einfärben einen farbverlauf haben, verlieren sie diesen nach dem einfärben,
genau wie "mouseover" und "pressed" ... schade das eine einfärbung das alles nimmt.