如何确定 Windows 中的文本光标位置
确定当前活动文本输入光标的屏幕坐标的最佳方法是什么?
我需要这个用于内联音译程序,以便我可以在输入文本时向用户显示一些建议选项。
What is the best way to determine the screen co-ordinates of the currently active text input cursor?
I need this for an in-line transliteration program so that I can display some suggestions options to the user as the text is entered.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
首先将线程输入附加到活动应用程序 (<代码> AttachThreadInput )。然后使用
GetCaretPos< 获取插入符号的位置/代码>
。该位置位于客户端坐标中,请调用
GetFocus
获取带有插入符号的窗口的句柄,然后使用ClientToScreen
。最后再次调用AttachThreadInput
来分离线程输入。First attach the thread input to the active application (
AttachThreadInput
). Then get the caret's position withGetCaretPos
. The position is in client coordinates, callGetFocus
to have the handle to the window that has the caret, then convert the coordinates to screen coordinates withClientToScreen
. Finally detach the thread input by calling againAttachThreadInput
.