文档章节

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

涂孟超
 涂孟超
发布于 2014/09/26 15:37
字数 368
阅读 18
收藏 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

 
 
 
 
 

 

 

  

本文转载自:http://www.cnblogs.com/del/archive/2008/06/14/1221980.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
私信 提问
深刻认识clientX,offsetX,screenX

clientX 设置或获取鼠标指针位置相对于当前窗口的 x 坐标,其中客户区域不包括窗口自身的控件和滚动条。 clientY 设置或获取鼠标指针位置相对于当前窗口的 y 坐标,其中客户区域不包括窗口自...

一颗星星变了心
2014/07/29
0
0
浅谈JS中的坐标获取

在编写JavaScript代码时,经常会需要获得鼠标或者某个盒子的相对坐标,这里我们就简要介绍一下几种获取方法的不同。 关于鼠标坐标 鼠标坐标一般是用event事件获取,其中有以下几个方法: pa...

Nicksonlvqq
2017/12/09
0
0
delphi 获取鼠标当前位置的相对坐标

//方法一: 使用 OnMouseDown 事件的参数: procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin //参数中的 X,Y 就是当前鼠标......

vga
2014/04/27
0
0
[转] 鼠标拖动层的JS方法

Javascript 如何实现对象的拖动? 解决思路 这个效果并不算常见,通常用于游戏或个人站点中。因为拖曳是靠鼠标来操作的,所以对鼠标的位置的捕获是问题的重点,然后才是根据鼠标的位置设置层...

鉴客
2011/01/23
324
0
在(CListView)列表视图中添加右键菜单的方法

使用弹出式菜单(PopMenu) 弹 出式菜单(PopMenu)大家都熟悉,在WIN98的桌面上单击鼠标右键弹出的菜单就是弹出式菜单。通常情况下,弹出式菜单在鼠标右键单击时弹出,当 然,也可以根据需要...

云栖希望。
2017/12/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

oh-my-zsh 自定义

GitHub 地址 基于 oh-my-zsh 的自定义配置,增加了一些个人常用插件与皮肤。 采用的是 git submodule 来维护,包括 oh-my-zsh,之所以这么搞,主要是手头有多台 linux 需要维护, 每台机器、...

郁也风
今天
4
0
Docker安装踩坑:E_FAIL 0x80004005的解决

参考 菜鸟教程--Windows Docker 安装 http://www.runoob.com/docker/windows-docker-install.html 官方文档-Install Docker Toolbox on Windows https://docs.docker.com/toolbox/toolbox_in......

karma123
今天
4
0
js垃圾回收机制和引起内存泄漏的操作

JS的垃圾回收机制了解吗? Js具有自动垃圾回收机制。垃圾收集器会按照固定的时间间隔周期性的执行。 JS中最常见的垃圾回收方式是标记清除。 工作原理:是当变量进入环境时,将这个变量标记为“...

Jack088
昨天
17
0
大数据教程(10.1)倒排索引建立

前面博主介绍了sql中join功能的大数据实现,本节将继续为小伙伴们分享倒排索引的建立。 一、需求 在很多项目中,我们需要对我们的文档建立索引(如:论坛帖子);我们需要记录某个词在各个文...

em_aaron
昨天
27
0
"errcode": 41001, "errmsg": "access_token missing hint: [w.ILza05728877!]"

Postman获取微信小程序码的时候报错, errcode: 41001, errmsg: access_token missing hint 查看小程序开发api指南,原来access_token是直接当作parameter的(写在url之后),scene参数一定要...

两广总督bogang
昨天
31
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部