文档章节

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

涂孟超
 涂孟超
发布于 2014/09/26 15:37
字数 368
阅读 18
收藏 0
点赞 0
评论 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
博文 2004
码字总数 14107
作品 0
深圳
程序员
浅谈JS中的坐标获取

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

Nicksonlvqq ⋅ 2017/12/09 ⋅ 0

深刻认识clientX,offsetX,screenX

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

一颗星星变了心 ⋅ 2014/07/29 ⋅ 0

delphi 获取鼠标当前位置的相对坐标

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

vga ⋅ 2014/04/27 ⋅ 0

[转] 鼠标拖动层的JS方法

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

鉴客 ⋅ 2011/01/23 ⋅ 0

在(CListView)列表视图中添加右键菜单的方法

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

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

雨碎江南/JavaSimpleFiveCheese

Java五子棋项目 该项目主要使用到了swing编程和ImageIO类。 游戏开始:清空棋盘,重新绘图 游戏设置:设置倒计时 游戏说明:说明游戏规则 认输:某一方放弃游戏,另一方直接获胜 关于:显示程...

雨碎江南 ⋅ 2015/04/12 ⋅ 0

Box2D关节-鼠标关节(鼠标联合)

我们可以通过鼠标联合点击、操作世界里面的刚体。鼠标联合的原理是当鼠标点击刚体时,给隐藏的一个鼠标Sprite(位置和当前鼠标相同)和点击的刚体创建一根联合线(Joint Line),该联合线的特点是...

童年伊梦 ⋅ 2012/09/25 ⋅ 0

AutoITx3.DLL所有函数及说明

AutoItSetOption 调整各种函数/参数的运作方式。 BlockInput 屏蔽/启用鼠标与键盘(输入)。 CDTray 弹出或关闭光驱。 ClipGet 获取剪贴板保存的数据(文本)。 ClipPut 向剪贴板写入数据(文...

thinkyoung ⋅ 2014/04/01 ⋅ 0

pageX、clientX、screenX、offsetX、ScrollLeft、ScrollTop、clientLeft、screenLeft

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

Left左 ⋅ 前天 ⋅ 0

WPF 动态模拟CPU 使用率曲线图

在工作中经常会遇到需要将一组数据绘制成曲线图的情况,最简单的方法是将数据导入Excel,然后使用绘图功能手动生成曲线图。但是如果基础数据频繁更改,则手动创建图形可能会变得枯燥乏味。本...

junwong ⋅ 2012/03/09 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Confluence 6 从其他备份中恢复数据

一般来说,Confluence 数据库可以从 Administration Console 或者 Confluence Setup Wizard 中进行恢复。 如果你在恢复压缩的 XML 备份的时候遇到了问题,你还是可以对整个站点进行恢复的,如...

honeymose ⋅ 22分钟前 ⋅ 0

myeclipse10 快速搭建spring boot开发环境(入门)

1.创建一个maven的web项目 注意上面标红的部分记得选上 2.创建的maven目录结构,有缺失的目录可以自己建立目录补充 补充后 这时候一个maven的web项目创建完成 3.配置pom.xml配置文件 <proje...

小海bug ⋅ 35分钟前 ⋅ 0

nginx.conf

=========================================================================== nginx.conf =========================================================================== user nobody; #......

A__17 ⋅ 38分钟前 ⋅ 0

645. Set Mismatch - LeetCode

Question 645. Set Mismatch Solution 思路: 遍历每个数字,然后将其应该出现的位置上的数字变为其相反数,这样如果我们再变为其相反数之前已经成负数了,说明该数字是重复数,将其将入结果r...

yysue ⋅ 51分钟前 ⋅ 0

Python这么强?红包杀手、消息撤回也可以无视,手机App辅助!

论述 标题也许有点不好理解,其实就是一款利用Python实现的可以监控微信APP内的红包与消息撤回的助手。不得不说,这确实是一款大家钟意的神器。 消息撤回是一件很让人恶心的事,毕竟人都是有...

Python燕大侠 ⋅ 今天 ⋅ 0

压缩打包介绍、gzip压缩工具、bzip2压缩工具、xz压缩工具

压缩打包介绍 压缩的好处不仅能节省磁盘空间而且在传输的时候节省传输时间和网络带宽 windows系统下文件带有 .rar .zip .7z 后缀的就是压缩文件 linux系统下则是 .zip, .gz, .bz2, .xz, ...

黄昏残影 ⋅ 今天 ⋅ 0

观察者模式

1.利用java原生类进行操作 package observer;import java.util.Observable;import java.util.Observer;/** * @author shadow * @Date 2016年8月12日下午7:29:31 * @Fun 观察目标 **/......

Cobbage ⋅ 今天 ⋅ 0

Ubuntu打印服务器配置

参考:https://blog.csdn.net/gsls200808/article/details/50950586 https://blog.csdn.net/jiay2/article/details/80252369 https://wiki.gentoo.org/wiki/HPLIP 由于媳妇儿要大量打印资料,......

大熊猫 ⋅ 今天 ⋅ 0

面试的角度诠释Java工程师(二)

原文出处: locality 续言: 相信每一位简书的作者,都会有我这样的思考:怎么写好一篇文章?或者怎么写好一篇技术类的文章?我就先说说我的感悟吧,写文章其实和写程序是一样的。为什么我会...

颖伙虫 ⋅ 今天 ⋅ 0

github中SSH的Key

https://help.github.com/articles/connecting-to-github-with-ssh/ https://help.github.com/articles/testing-your-ssh-connection/ https://help.github.com/articles/adding-a-new-ssh-k......

whoisliang ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部