• 坐标转换 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:将用户区域坐标转化为屏幕坐标

  • 相关阅读:
    MetaNamespaceKeyFunc
    golang dlv 调式成员函数
    golang 编译 添加debug gdb
    code-generator
    k8s 自定义informer
    kube-batch ——pod 和task
    kubernetes-handbook informer
    kube batch scheduler
    k8s-scheduler-extender-example
    volcano 快速开始
  • 原文地址:https://www.cnblogs.com/luckForever/p/7254559.html
Copyright © 2020-2023  润新知