最近在写截图小工具,所以需要获得鼠标的位置,其实很简单,只需要一个函数就可以
GetCursorPos procedure
---------------------------------------------------------------
返回鼠标位置.
Unit
QControls
Category
mouse handling utilities
Delphi 语法:
procedure GetCursorPos(var P: TPoint);
说明:
调用GetCursorPos判断鼠标在当前屏幕的坐标。
TPoint 就是一个结构体 包含两个参数X,Y
TPoint = packed record
X: Longint;
Y: Longint;
end;
下面是具体的使用方法
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls;
type
TForm1 = class(TForm)
Image1: TImage;
procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
CurCursor:TPoint;//当前鼠标下的位置
implementation
{$R *.dfm}
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
//GetCursorPos(CurCursor);
end;
//鼠标按下
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
GetCursorPos(CurCursor);//获得当前鼠标在屏幕中的坐标
end;
//鼠标按下后弹起
procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
ShowMessage(IntToStr(CurCursor.X)+' '+InttoStr(CurCursor.Y));//输出鼠标在屏幕中的位置
end;
end.