Программный код на языке Delphi, предназначенный для создания приложений под Windows.
Цель этого кода - получить текущую позицию или координаты окна на экране. Функция GetCurrentPosition из Windows API используется для достижения этой цели.
GetCurrentPosition(Canvas.Handle) вызывает функцию Windows API GetCurrentPosition, передавая handle канваса (графического компонента) в качестве аргумента.
LoWord - это функция Delphi, которая извлекает низшую 16-разрядную часть из 32-разрядного значения. В этом случае она возвращает нижнюю 16-разрядную часть результата от GetCurrentPosition, представляющую текущую x-координату окна.
Это строка похожа на предыдущую, но использует HiWord вместо LoWord. HiWord извлекает высокую 16-разрядную часть из 32-разрядного значения. В этом случае она возвращает верхнюю 16-разрядную часть результата от GetCurrentPosition, представляющую текущую y-координату окна.
Когда вы запустите этот код, он получит и присвоит переменным CurrentX и CurrentY координаты (x, y) текущей позиции окна, представленного канвасом.
Рекомендуется улучшение:
type
TForm1 = class(TForm)
procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses
Windows;
{$R *.dfm}
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
CurrentX := LoWord(GetCursorPos); // Используйте GetCursorPos вместо GetCurrentPosition
CurrentY := HiWord(GetCursorPos);
end;
В этом коде событие FormMouseMove используется для получения текущей позиции (x, y) координат курсора. Функция GetCursorPos из Windows API возвращает позицию курсора как структуру POINT. Мы можем использовать LoWord и HiWord, чтобы извлечь x и y координаты отдельно.
В статье описывается метод получения текущей позиции окна на компьютере с помощью Windows API функции GetCurrentPosition, которая возвращает координаты верхнего левого угла окна.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.