delphi Api 函数: GetCursorPos 与转换


本文整理自网络,侵删。

 //获取鼠标在窗体中的当前位置
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
str: string;
begin
str := Format('%d,%d',[X,Y]);
ShowMessage(str);
end;


//用 GetCursorPos 获取的是鼠标相对与屏幕的位置
var
ps: TPoint;
str: string;
begin
GetCursorPos(ps);
str := Format('%d,%d',[ps.X,ps.Y]);
ShowMessage(str);
end;


//但通过 ScreenToClient 方法可以转换过来
var
ps: TPoint;
str: string;
begin
GetCursorPos(ps);

ps := ScreenToClient(ps);

str := Format('%d,%d',[ps.X,ps.Y]);
ShowMessage(str);
end;


// ClientToScreen 函数
procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
str: string;
ps: TPoint;
begin
{显示当前鼠标位置, 这是相对于窗体的}
str := Format('%d,%d',[X,Y]);
ShowMessage(str);

{通过 ClientToScreen 函数可以得到当前鼠标相对于屏幕的位置}
ps := point(X,Y);

ps := ClientToScreen(ps);
str := Format('%d,%d',[ps.X, ps.Y]);
ShowMessage(str);
end;

相关阅读 >>

Delphi如何判断一个combobox是否处于下拉状态

Delphi 自动关闭弹出的窗口

Delphi 查看字符串在不同编码(ascii、unicode、utf7、utf8、default、bigendianunicode)下的 hex

Delphi webbrowser添加到收藏夹

Delphi实现md5算法

Delphi从memo去重数据

Delphi汇编级初探

Delphi idhttp下载带清理网络缓存

Delphi 取得任意程序的命令行

Delphi中使用directx截屏函数

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...