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

X,Y coordinates of text cursor position

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

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

GetCaretPos 可以做到。

它的工作方式类似于

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