Здравствуйте! При перемещении картинки в окне GUI, картинка мерцает, как убрать мерцание? Я делал задержку , а также делал, что если нет перемещения, то не записывалось новое значение координат, но не помогает, все равно мерцает..
картинка создавалась с параметром $WS_EX_TOPMOST, так как под ней другая картинка (фон) на все окно GUI с параметром $GUI_DISABLE, фон остался в итоге
Забыл сказать, мерцание пропадает, если сделать большую задержку, но тогда пропадает плавность.
Код:
Func peremeshenie_kartinki()
Local $regim_koordinat_mouse = Opt("MouseCoordMode", 2)
Local $informaciya_okna = GUIGetCursorInfo($GL_dobavit_novost)
Local $informaciya_objekta, $informaciya_mouse, $novaya_x_pos, $novaya_y_pos
If IsArray($informaciya_okna) And $informaciya_okna[2] = 1 And $informaciya_okna[4] = @GUI_CtrlId Then
GUICtrlSetPos ( @GUI_CtrlId, -1 ,-1,75,75)
$informaciya_okna = GUIGetCursorInfo($GL_dobavit_novost)
$informaciya_objekta = ControlGetPos($GL_dobavit_novost, "", @GUI_CtrlId)
$informaciya_mouse = MouseGetPos()
$velx= $informaciya_mouse[0]-$informaciya_objekta[0]
$vely= $informaciya_mouse[1]-$informaciya_objekta[1]
While IsArray($informaciya_okna) And $informaciya_okna[2] = 1
$informaciya_okna = GUIGetCursorInfo($GL_dobavit_novost)
$informaciya_objekta = ControlGetPos($GL_dobavit_novost, "", @GUI_CtrlId)
$informaciya_mouse = MouseGetPos()
$novaya_x_pos = $informaciya_mouse[0]-($informaciya_objekta[2]/2)
$novaya_y_pos = $informaciya_mouse[1]-($informaciya_objekta[3]/2)
if $novaya_x_pos <> $informaciya_objekta[0] or $novaya_x_pos <> $informaciya_objekta[1] then
GUICtrlSetPos(@GUI_CtrlId, $novaya_x_pos, $novaya_y_pos)
Sleep(50)
Else
Sleep(10)
EndIf
WEnd
EndIf
GUICtrlSetPos ( @GUI_CtrlId, -1 ,-1,120,120)
EndIf
Next
Opt("MouseCoordMode", $regim_koordinat_mouse)
EndFunc
картинка создавалась с параметром $WS_EX_TOPMOST, так как под ней другая картинка (фон) на все окно GUI с параметром $GUI_DISABLE, фон остался в итоге
Забыл сказать, мерцание пропадает, если сделать большую задержку, но тогда пропадает плавность.