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事件OnMouseUp事件

相反的OnClick事件,已经为您提供了鼠标点击/释放的X,Y坐标,不喜欢特别的按键用鼠标左键哪些信息和状态提ShiftCTRLALT

为了更好地解释这些事件提供了哪些信息,请查看TMouseEvent文档

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章