嗨,我有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 event和OnMouseUp event。
除了已经为您提供鼠标单击/释放的X,Y坐标的OnClick
事件之外,更不用说有关使用哪个鼠标按钮以及特殊键(例如Shift,CTRL和ALT)状态的信息了。
为了更好地解释这些事件提供的信息,请检查TMouseEvent documentation。
关于delphi - Delphi鼠标单击坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28039934/