Delphi之获取当前鼠标位置(GetCursorPos)

最近在写截图小工具,所以需要获得鼠标的位置,其实很简单,只需要一个函数就可以

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.

 

你可能感兴趣的:(Delphi)