zoukankan      html  css  js  c++  java
  • 坐标转换 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;

    GetCursorPos:得到鼠标当前位置
    ScreenToClient:将屏幕坐标转换为用户区域坐标
    ClientToScreen:将用户区域坐标转化为屏幕坐标

  • 相关阅读:
    List的Select 和Select().tolist()
    lambda中FirstOrDefault和First
    EF时,数据库字段和实体类不一致问题
    用户变量问题
    实验十二:字符串和结构
    实验十一:指针(2)
    实验十:指针(1)
    实验九:二维数组和字符数组的应用
    实验八:一维数组的应用
    实验七:函数及数组(1)
  • 原文地址:https://www.cnblogs.com/luckForever/p/7254559.html
Copyright © 2011-2022 走看看