Hallo,
ich würde gerne die Zeit in einem Fenster anzeigen lassen. Dafür habe ich folgenden Code geschrieben:
Zeit:
Zeit = %A_Hour%:%A_Min%:%A_Sec%:%A_MSec%
Gui, Destroy
Gui, +AlwaysOnTop +ToolWindow -SysMenu -Caption
Gui, Font, s48, Verdana
Gui, Add, Text, cgreen, %Zeit%
Gui, Show, NoActivate
SetTimer, Zeit, 500
Mein Problem ist jetzt noch, dass das Fenster sich immer kurz schließt und deswegen sieht es aus wie ein Flackern. Kann man es so programmieren, dass das Fenster so aussieht, als wäre es immer offen? Vielleicht liegt es an Gui, Destroy, aber ich habe keine Möglichkeitkeit gefunden, wie sich das Fenster sonst aktualisiert.
Über Eure Ideen würde ich mich sehr freuen.
Viele Grüße.
Fenster mit SetTimer ohne Flackern anzeigen
Moderator: jNizM
Re: Fenster mit SetTimer ohne Flackern anzeigen
Ein großes Problem ist auf jeden Fall das ständige Zerstören und Erstellen des GUIs. Das solltest du auf jeden Fall verhindern.
Stattdessen solltest du nur das Textfeld updaten, via GuiControl
In etwa so:
Das sollte, zumindest bei deinem Updatezyklus von 500 ms, wesentlich weniger flackern.
Stattdessen solltest du nur das Textfeld updaten, via GuiControl
In etwa so:
Code: Select all
Gui, +AlwaysOnTop +ToolWindow -SysMenu -Caption
Gui, Font, s48, Verdana
Gui, Add, Text, cgreen vtimetext, %A_Hour%:%A_Min%:%A_Sec%:%A_MSec%
Gui, Show, NoActivate
SetTimer, Zeit, 500
return
Zeit:
GuiControl,, timetext, %A_Hour%:%A_Min%:%A_Sec%:%A_MSec%
return
Re: Fenster mit SetTimer ohne Flackern anzeigen
Hallo,
vielen Dank für die schnelle Hilfe. Es funktioniert wunderbar! GuiControl kannte ich bisher nicht und werde mich damit wohl nochmal beschäftigen müssen. Also, vielen Dank nochmal für Deine Hilfe!
vielen Dank für die schnelle Hilfe. Es funktioniert wunderbar! GuiControl kannte ich bisher nicht und werde mich damit wohl nochmal beschäftigen müssen. Also, vielen Dank nochmal für Deine Hilfe!
Who is online
Users browsing this forum: No registered users and 15 guests