hi,
ich habe ein script geschrieben, das dem mauszeiger folgt.
leider hört es nicht auf zu blinken. selbst mit anderen wiederholraten, die weitaus übertrieben sind (alle ~15ms wurde ein neues bild generiert).
spart man zeile 23 aus, läuft es fast flackerfrei. gäbe es da eine andere möglichkeit die elemente grafisch darzustellen?
#include <Array.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Opt("GuiOnEventMode", 1)
TraySetState(2)
$air = GUICreate("test", 301, 401, 344, 203)
GUISetOnEvent($GUI_EVENT_CLOSE, "exit_")
$Pic1 = GUICtrlCreatePic(@ScriptDir & "\back.bmp", 0, 0, 300, 400)
$Pic2 = GUICtrlCreatePic(@ScriptDir & "\cursor.bmp", 300, 400, 30, 30)
GUISetState(@SW_SHOW)
Global $timer = TimerInit()
$delay = 30
While 1
$time = TimerDiff($timer)
If $time > $delay Then
$timer = TimerInit()
If WinActive("test") = 1 Then
loadbackground_()
cursor_()
EndIf
EndIf
WEnd
Func loadbackground_()
GUICtrlSetImage($Pic1, @ScriptDir & "\back.bmp")
EndFunc
Func cursor_()
$pos = GUIGetCursorInfo()
GUICtrlDelete($Pic2)
If IsArray($pos) = 1 Then
$Pic2 = GUICtrlCreatePic(@ScriptDir & "\cursor.bmp", $pos[0] - 15, $pos[1] - 15, 30, 30)
EndIf
EndFunc
Func exit_()
Exit
EndFunc
mfg bocky