问题来源: http://www.cnblogs.com/del/archive/2008/06/14/1218771.html#1225859
代码文件:
代码文件:
窗体文件:unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) procedure FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure FormClick(Sender: TObject); end; var Form1: TForm1; implementation {$R *.dfm} //方法一: 使用 OnMouseDown 事件的参数: procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin //参数中的 X,Y 就是当前鼠标所在位置的坐标 //譬如显示看看: Text := Format('OnMouseDown: x=%d; y=%d', [X,Y]); end; //方法二: 使用 OnMouseMove 事件的参数: procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin //参数中的 X,Y 就是当前鼠标所在位置的坐标 //譬如显示看看: Text := Format('OnMouseMove: x=%d; y=%d', [X,Y]); end; //方法三: 使用 OnMouseUp 事件的参数: procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin //参数中的 X,Y 就是当前鼠标所在位置的坐标 //譬如显示看看: ShowMessageFmt('OnMouseUp: x=%d; y=%d', [X,Y]); end; //方法四: 使用 API 函数 GetCursorPos: procedure TForm1.FormClick(Sender: TObject); var pt: TPoint; begin GetCursorPos(pt); {这是获取的相对于屏幕的坐标} pt := ScreenToClient(pt); {转换成本地坐标} ShowMessageFmt('API 函数 GetCursorPos: x=%d; y=%d', [pt.X, pt.Y]); end; end.
object Form1: TForm1 Left = 0 Top = 0 Caption = 'Form1' ClientHeight = 206 ClientWidth = 339 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'Tahoma' Font.Style = [] OldCreateOrder = False OnClick = FormClick OnMouseDown = FormMouseDown OnMouseMove = FormMouseMove OnMouseUp = FormMouseUp PixelsPerInch = 96 TextHeight = 13 end
分类:
问与答
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 【非技术】说说2024年我都干了些啥