Delphi - 通过WinAPI GetCursorPos实现鼠标位置的实时显示

Posted jeremywucnblog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Delphi - 通过WinAPI GetCursorPos实现鼠标位置的实时显示相关的知识,希望对你有一定的参考价值。

通过WinAPI GetCursorPos实现鼠标位置的实时显示

有时候我们需要将鼠标的位置实时抓取出来,可以通过如下方式实现。

添加一个Timer控件,执行间隔改为100ms,双击控件输入如下代码:

1 var
2   P: TPoint;
3 begin
4    GetCursorPos(P);
5    RzLabel_Point.Caption := Format((%d,%d), [P.X,P.Y]);
6 end;

在窗体Show事件中输入如下代码,调整下鼠标显示样式:

1 Screen.Cursor := crHandPoint;

最终效果:

技术图片

 

 

单元代码如下:

 1 unit U_Operation;
 2 
 3 interface
 4 
 5 uses
 6   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 7   Dialogs, ExtCtrls, RzPanel, StdCtrls, RzLabel;
 8 
 9 type
10   TFrm_Operation = class(TForm)
11     RzGroupBox1: TRzGroupBox;
12     RzGroupBox2: TRzGroupBox;
13     Timer_Display: TTimer;
14     RzLabel1: TRzLabel;
15     RzLabel_Point: TRzLabel;
16     procedure Timer_DisplayTimer(Sender: TObject);
17     procedure FormCreate(Sender: TObject);
18   private
19      Private declarations 
20   public
21      Public declarations 
22   end;
23 
24 var
25   Frm_Operation: TFrm_Operation;
26 
27 implementation
28 
29 $R *.dfm
30 
31 procedure TFrm_Operation.Timer_DisplayTimer(Sender: TObject);
32 var
33   P: TPoint;
34 begin
35    GetCursorPos(P);
36    RzLabel_Point.Caption := Format((%d,%d), [P.X,P.Y]);
37 end;
38 
39 procedure TFrm_Operation.FormCreate(Sender: TObject);
40 begin
41    Screen.Cursor := crHandPoint;
42 end;
43 
44 end.

 

以上是关于Delphi - 通过WinAPI GetCursorPos实现鼠标位置的实时显示的主要内容,如果未能解决你的问题,请参考以下文章

Delphi 定义外部 WinAPI 函数的类型

Delphi WinAPI InternetGetConnectedState(wininet.h)

Delphi WinAPI WaitForSingleObject-等待函数-等待指定对象处于有信号状态或超时间隔结束。

delphi回调函数

delphi实现起泡提示效果

delphi实现起泡提示效果