• 获取鼠标当前位置坐标的方法 回复 "ps8.0" 同学


    问题来源: http://www.cnblogs.com/del/archive/2008/06/14/1218771.html#1225859

    代码文件:
    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs;
    
    type
      TForm1 = class(TForm)
        procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
          Shift: TShiftState; X, Y: Integer);
        procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
        procedure FormMouseUp(Sender: TObject; Button: TMouseButton;
          Shift: TShiftState; X, Y: Integer);
        procedure FormClick(Sender: TObject);
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    //方法一: 使用 OnMouseDown 事件的参数:
    procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
      //参数中的 X,Y 就是当前鼠标所在位置的坐标
      //譬如显示看看:
      Text := Format('OnMouseDown: x=%d; y=%d', [X,Y]);
    end;
    
    //方法二: 使用 OnMouseMove 事件的参数:
    procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    begin
      //参数中的 X,Y 就是当前鼠标所在位置的坐标
      //譬如显示看看:
      Text := Format('OnMouseMove: x=%d; y=%d', [X,Y]);
    end;
    
    //方法三: 使用 OnMouseUp 事件的参数:
    procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
      //参数中的 X,Y 就是当前鼠标所在位置的坐标
      //譬如显示看看:
      ShowMessageFmt('OnMouseUp: x=%d; y=%d', [X,Y]);
    end;
    
    //方法四: 使用 API 函数 GetCursorPos:
    procedure TForm1.FormClick(Sender: TObject);
    var
      pt: TPoint;
    begin
      GetCursorPos(pt);         {这是获取的相对于屏幕的坐标}
      pt := ScreenToClient(pt); {转换成本地坐标}
      ShowMessageFmt('API 函数 GetCursorPos: x=%d; y=%d', [pt.X, pt.Y]);
    end;
    
    end.
    
    窗体文件:
    object Form1: TForm1
      Left = 0
      Top = 0
      Caption = 'Form1'
      ClientHeight = 206
      ClientWidth = 339
      Color = clBtnFace
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clWindowText
      Font.Height = -11
      Font.Name = 'Tahoma'
      Font.Style = []
      OldCreateOrder = False
      OnClick = FormClick
      OnMouseDown = FormMouseDown
      OnMouseMove = FormMouseMove
      OnMouseUp = FormMouseUp
      PixelsPerInch = 96
      TextHeight = 13
    end
    
  • 相关阅读:
    Ajax请求ashx 返回 json 格式数据常见问题
    netbeans 优化设置
    Java基础static的探究
    mybatis中:selectKey返回最近插入记录的id
    Java map 详解
    Statement和PreparedStatement的异同
    css3 @media支持ie8用respond.js 解决IE6~8的响应式布局问题
    apply和call
    兼容性问题:backgroud-size支持IE8浏览器的方法
    json对象和json字符串之间的转化
  • 原文地址:https://www.cnblogs.com/del/p/1221980.html
Copyright © 2020-2023  润新知