问题描述
如何找出控件中文本光标的X,Y屏幕坐标当前焦点在什么地方?可以是TEdit
,TMemo
或任何其他带有文本光标的控件。
我需要它以便显示带有用户可以输入的其他可选字符的窗口。该窗口应弹出一个特殊的组合键,其左上角靠近当前活动编辑器中的插入符号。因为我不想为每个编辑控件进行单独的处理,所以我在Application.OnMessage
处理程序的整个应用程序中进行处理。
解决方法
GetCaretPos
可以解决问题。
工作原理
if Windows.GetCaretPos(cp) and Windows.ClientToScreen(GetFocus(),cp) then begin
//.......
end;