_WinAPI_MoveTo
Перемещает текущую позицию в указанную точку
#include <WinAPI.au3>
_WinAPI_MoveTo($hDC, $iX, $iY)
Параметры
$hDC | Дескриптор контекста устройства |
$iX |
Новая X-координата. |
$iY |
Новая Y-координата. |
Возвращаемое значение
Успех: | Возвращает True |
Ошибка: | Возвращает False |
Примечания
Функция MoveTo влияет на все функции рисования.См. также
_WinAPI_LineTo, _WinAPI_DrawLine, _WinAPI_SelectObject, _WinAPI_CreatePenСм. также
Искать MoveToEx в библиотеке MSDNПример
#include <WindowsConstants.au3>
#include <WinAPI.au3>
ShowCross(@desktopwidth / 2, @desktopheight / 2, 20, 2, 0xFF, 3000)
Func ShowCross($start_x, $start_y, $length, $width, $color, $time)
Local $hDC, $hPen, $obj_orig
$hDC = _WinAPI_GetWindowDC(0) ; DC всего экрана (рабочего стола)
$hPen = _WinAPI_CreatePen($PS_SOLID, $width, $color)
$obj_orig = _WinAPI_SelectObject($hDC, $hPen)
_WinAPI_DrawLine($hDC, $start_x - $length, $start_y, $start_x - 5, $start_y) ; горизонтальная слева
_WinAPI_DrawLine($hDC, $start_x + $length, $start_y, $start_x + 5, $start_y) ; горизонтальная справа
_WinAPI_DrawLine($hDC, $start_x, $start_y - $length, $start_x, $start_y - 5) ; Вертикальная сверху
; _WinAPI_DrawLine($hDC, $start_x, $start_y + $length, $start_x, $start_y + 5) ; Вертикальная снизу
_WinAPI_MoveTo($hDC, $start_x, $start_y + $length)
_WinAPI_LineTo($hDC, $start_x, $start_y + 5)
Sleep($time) ; Показать крестообразный прицел поверх экрана за счёт указанной задержки времени
; Обновить рабочий стол (очистить / удалить крестообразный прицел)
_WinAPI_RedrawWindow(_WinAPI_GetDesktopWindow(), 0, 0, $RDW_INVALIDATE + $RDW_ALLCHILDREN)
; Очистить ресурсы
_WinAPI_SelectObject($hDC, $obj_orig)
_WinAPI_DeleteObject($hPen)
_WinAPI_ReleaseDC(0, $hDC)
EndFunc ;==>ShowCross