hallo miteinander,
ich versuche gerade für mein ein etwas Komplexeres Programm zu schreiben, dazu gehört es das ich ein Stoppuhr mit Einbau, also habe ich mir ein Stoppuhr gebaut.
Jetzt ist das aber so das diese immer leicht Flackert
gibt es eine sehr schnelle Möglichkeit Groß in die GUI zu schreiben so das mein Flackern weniger wird oder aufhört?
Das ist mein CODE:
C
#include <WindowsConstants.au3>
#include <StaticConstants.au3>
#include <Date.au3>
Local $start
Local $hsec
Local $min
Local $sec
Local $hour
Local $min_alt = 0
Local $sec_alt = 0
Local $hour_alt = 0
HotKeySet("{ESC}", _EXIT) ; Programm beenden
GUIDelete() ; Bestehende GUI Löschen
GUICreate ("Test", @DesktopWidth, @DesktopHeight, 0, 0, $WS_POPUP) ; GUI Definiren
GUISetBkColor (0x000000) ; GUI Background Color
GUISetState(@SW_SHOW) ; GUI Starten
GUISetFont(200, 0, 0, "Calibri") ; GUI Schriftgröße und Art Einstellen
GUICtrlSetBkColor(GUICtrlSetColor(GUICtrlCreateLabel( "00 : 00 : 00 . 00", 150, 300), 0xffffff), 0x000000) ; Timer Leer darstellen
$start = TimerInit() ; Startzeit merken
While 1
Sleep(30) ; 60 ms warten
_TicksToTime(Int(TimerDiff($start)), $hour, $min, $sec) ; Timer in brauchbare Stücke zerlegen
$hour = StringRight("0" & $hour, 2) ; Stunden Zweistellig machen
$min = StringRight('0' & $min, 2) ; Minuten Zweistellig machen
$sec = StringRight('0' & $sec, 2) ; Sekunden Zweistellig machen
$hsec = Int((TimerDiff($start) - ($hour*3600*1000 + $min*60*1000 + $sec*1000))/10) ; Millisekunden berechnen
if $hour > $hour_alt Then GUICtrlSetBkColor(GUICtrlSetColor(GUICtrlCreateLabel( $hour, 150, 300), 0x119944), 0x000000) ; Wenn Wert sich geändert hat Text ausgeben
if $min > $min_alt Then GUICtrlSetBkColor(GUICtrlSetColor(GUICtrlCreateLabel( $min, 620, 300), 0x119944), 0x000000) ; Wenn Wert sich geändert hat Text ausgeben
if $sec > $sec_alt Then GUICtrlSetBkColor(GUICtrlSetColor(GUICtrlCreateLabel( $sec, 1080, 300),0x119944), 0x000000) ; Wenn Wert sich geändert hat Text ausgeben
GUICtrlSetBkColor(GUICtrlSetColor(GUICtrlCreateLabel( $hsec, 1520, 300), 0x119944), 0x000000) ; Wenn Wert sich geändert hat Text ausgeben
$hour_alt = $hour ; Aktueller Wert merken
$min_alt = $min ; Aktueller Wert merken
$sec_alt = $sec ; Aktueller Wert merken
$hsec_alt = $hsec ; Aktueller Wert merken
WEnd
func _EXIT()
Exit ; Programm beenden
EndFunc
Alles anzeigen
ich schätze mal das ich nicht die richtige Methode gewählt habe beim ausgeben des Textes in der GUI, leider finde ich keine andre