Fenster mit SetTimer ohne Flackern anzeigen

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

festigrat
Posts: 54
Joined: 02 Mar 2017, 06:58

Fenster mit SetTimer ohne Flackern anzeigen

22 Nov 2018, 14:00

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.
gregster
Posts: 9103
Joined: 30 Sep 2013, 06:48

Re: Fenster mit SetTimer ohne Flackern anzeigen

22 Nov 2018, 14:28

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:

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
Das sollte, zumindest bei deinem Updatezyklus von 500 ms, wesentlich weniger flackern.
festigrat
Posts: 54
Joined: 02 Mar 2017, 06:58

Re: Fenster mit SetTimer ohne Flackern anzeigen

22 Nov 2018, 14:34

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!

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: No registered users and 15 guests