delphi - Delphi鼠标单击坐标

标签 delphi

嗨,我有3个面板,分别由表格组成。
我将点击事件分配给第3面板以获取坐标。

procedure TformMain.Panel3Click(Sender: TObject);
var
  pt : tPoint;
begin
  pt := Mouse.CursorPos;
  ShowMessage('X : ' + IntToStr(pt.X) + ' & Y : ' + IntToStr(pt.Y));
end;


该代码有效,但我不知道如何协调。从面板开始3。
我的意思是,当我单击panel3的顶部时,y坐标必须为0。

感谢您的建议。

ps :我的窗体有一个主菜单,所以我试图从pt.y中减去panel1的高度,但是我无法获取主菜单的高度。

最佳答案

为什么不使用OnMouseDown eventOnMouseUp event

除了已经为您提供鼠标单击/释放的X,Y坐标的OnClick事件之外,更不用说有关使用哪个鼠标按钮以及特殊键(例如Shift,CTRL和ALT)状态的信息了。

为了更好地解释这些事件提供的信息,请检查TMouseEvent documentation

关于delphi - Delphi鼠标单击坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28039934/

相关文章:

Delphi:单击控件时如何调用方法?

德尔福 HashMap ?

delphi - 我可以将某个对象的类注释为类型吗?

delphi-7 - 类型转换 WideString 会破坏 Widechar 数组

delphi - 如何使用 Application Verifier 4.0 测试 Delphi 应用程序?

android - 如何使用 FireMonkey for Delphi XE5 检测/处理屏幕旋转

delphi - TParallel 的奇怪行为。对于默认线程池

delphi - 我需要将 "inherited"行添加到记录构造函数中吗?

delphi - 在delphi中取消选择 TreeView 的元素

delphi - 当屏幕上的 "Make it easier to read what' s 为 150% 时,Screen.Width 报告错误的分辨率