Hab hier einen seltsamen Fehler, den ich mir nicht erklären kann. Im Script soll die Hintergrundfarbe von beiden Controls abhängig vom Inhalt geändert werden. Das funktioniert auch, jedoch wird die Farbänderung bei der Combobox erst sichtbar nachdem man die Maus über diesen Bereich bewegt. Beim edit control wird die Änderung sofort sichtbar. Was kann man da machen?
[autoit]
#include <GUIConstantsEx.au3>
#include <EditConstants.au3>
GUICreate("My GUI")
GUICtrlCreateLabel("Button ändert die Farbe der Controls auf rot, wenn die Felder leer sind. Wenn Text in den Feldern eingetragen ist ändert der Button die Farbe auf weiß.",10,10,350,80,"",$ES_MULTILINE)
$button = GUICtrlCreateButton("changecolor",50,100)
$edit = GUICtrlCreateEdit("",200,100,100,50)
$dropdown = GUICtrlCreateCombo("",50,200,200,50)
GUISetState()
While 1
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then ExitLoop
If $msg = $button Then colorchange()
WEnd
Func colorchange()
if GUICtrlRead($edit) = "" Then
GUIctrlSetBkColor($edit,0xFFB2B2)
Else
GUIctrlSetBkColor($edit,0xFFFFFF)
EndIf
if GUICtrlRead($dropdown) = "" Then
GUIctrlSetBkColor($dropdown,0xFFB2B2)
Else
GUIctrlSetBkColor($dropdown,0xFFFFFF)
EndIf
EndFunc