【发布时间】:2011-07-02 12:22:32
【问题描述】:
确定当前活动文本输入光标的屏幕坐标的最佳方法是什么?
我需要这个用于在线音译程序,以便在输入文本时向用户显示一些建议选项。
【问题讨论】:
-
光标在什么地方?富编辑?编辑框?一个winform?
确定当前活动文本输入光标的屏幕坐标的最佳方法是什么?
我需要这个用于在线音译程序,以便在输入文本时向用户显示一些建议选项。
【问题讨论】:
首先将线程输入附加到活动应用程序(AttachThreadInput)。然后使用GetCaretPos 获取插入符号的位置。该位置在客户端坐标中,调用GetFocus 以获得具有插入符号的窗口的句柄,然后使用ClientToScreen 将坐标转换为屏幕坐标。最后再次调用AttachThreadInput分离线程输入。
【讨论】: