Hallo zusammen,
ich habe für die GUI-Spezialisten unter Euch einen Schönheitsfehler, den ich gerne beseitigen möchte:
Ich möchte die Auswahl einer Funktion (ON/OFF) über ein Label des GUI steuern, beim Anklicken wechselt die Farbe der Schrift, so daß man den Status erkennen kann. So weit so gut; klappt auch. Jedoch "erscheint" beim Anklicken des Labels kurzzeitig der Hintergrund, kann man das vermeiden? In der Hilfe habe ich nichts gefunden, um den "Umschaltvorgang" zu beeinflussen .......
P.S.
- den Farbwechsel habe ich unterschiedlich realisiert, gleiches Ergebnis
- habe den Farbwechsel mit der Funktion test() [Aurfuf über <t>] auch mal ohne Klicken realisiert, das Erscheinen des Hintergrundes liegt aber nicht an der Maus-Ansteuerung des Labels
Spoiler anzeigen
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <StaticConstants.au3>
Global $sethfm = 0
Global $b_hoehe = 30, $b_breite = 250
Global $farbe1 = 0xff0000 ; Rot
Global $farbe2 = 0x076825 ; Grün
Global $L2
HotKeySet("t", "test")
[/autoit] [autoit][/autoit] [autoit];-------------------------------------------------------------------------------------------------------------
gui()
Exit
;-------------------------------------------------------------------------------------------------------------
Func gui()
$Form1 = GUICreate("Form1", 500, 440, (@DesktopWidth - 500) / 2, (@DesktopHeight - 400) / 2, $WS_DLGFRAME + $WS_POPUP + $WS_THICKFRAME)
$Pic1 = GUICtrlCreatePic("pic.jpg", 0, 0, 500, 440, $WS_BORDER)
$L2 = GUICtrlCreateLabel("Label Text", 125, 200, $b_breite, $b_hoehe, $SS_CENTER)
GUICtrlSetCursor(-1, 0)
If $sethfm = 0 Then format($L2, $farbe1)
If $sethfm = 1 Then format($L2, $farbe2)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $L2
If $sethfm = 0 Then
$sethfm = 1
GUICtrlSetColor($L2, $farbe2)
ElseIf $sethfm = 1 Then
$sethfm = 0
format($L2, $farbe1)
EndIf
EndSwitch
WEnd
EndFunc ;==>gui
Func format($control, $farbe)
GUICtrlSetBkColor($control, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetFont(-1, 18, 900, 2, "Verdana")
GUICtrlSetColor($control, $farbe)
EndFunc ;==>format
Func test()
For $i = 1 To 3
GUICtrlSetColor($L2, $farbe2)
Sleep(1000)
GUICtrlSetColor($L2, $farbe1)
Sleep(1000)
Next
EndFunc ;==>test
das GUI-Hintergrundbild (bitte ins gleiche Verzeichnis kopieren)
[Blockierte Grafik: http://freenet-homepage.de/latemail/pic.jpg]
>>>> und wie bitte bleibt im Spoiler die Formatierung des Quell-Textes erhalten?? <<<<<<