如何获取表单上的光标位置?
Posted
技术标签:
【中文标题】如何获取表单上的光标位置?【英文标题】:How can I get cursor position on the form? 【发布时间】:2011-08-09 05:10:41 【问题描述】:我需要获取表单上的光标位置,我该怎么做?
【问题讨论】:
【参考方案1】:将Mouse.CursorPos
传递给TForm.ScreenToClient()
。
Mouse.CursorPos
在屏幕坐标系中返回。 TForm.ScreenToClient()
将点转换为表单的客户端坐标系。
事实上,所有 TControl 后代都提供 ScreenToClient()
方法及其逆方法 ClientToScreen()
,用于在坐标系之间进行转换。
【讨论】:
您可以使用CalcCursorPos
方法缩短它,该方法在定义TForm
后代的单元中变为不受保护。这种方法甚至在 Delphi 7 中也存在...
我需要在uses中加入什么单位才能让编译器知道鼠标?
@Guido 我刚刚进行了网络搜索以找出答案。或者您可以只搜索 VCL 源代码。而不是告诉你我会让你做其中之一。
好吧,如果我可以通过网络搜索轻松找到它,我就不会在这里问了。该文档提到了很多明显的东西,但没有提到您需要添加到您的使用中的内容。没有什么私人的,但我在网上看到很多答案和例子,忘记提到一些让人们无法使用它的琐碎事情。我只是想提一下这个,如果我不介意的话。晚上好,先生
@guido 我不知道,但我通过网络搜索立即找到了它。在tuor搜索中包含关键字delphi和docwiki,您也会找到它。以上是关于如何获取表单上的光标位置?的主要内容,如果未能解决你的问题,请参考以下文章