文本光标位置的X,Y坐标

问题描述

如何找出控件中文本光标的X,Y屏幕坐标当前焦点在什么地方?可以是TEditTMemo或任何其他带有文本光标的控件。

我需要它以便显示带有用户可以输入的其他可选字符的窗口。该窗口应弹出一个特殊的组合键,其左上角靠近当前活动编辑器中的插入符号。因为我不想为每个编辑控件进行单独的处理,所以我在Application.OnMessage处理程序的整个应用程序中进行处理。

解决方法

GetCaretPos可以解决问题。

工作原理

if Windows.GetCaretPos(cp) and Windows.ClientToScreen(GetFocus(),cp) then begin
  //.......
end;