我正在创建一个自定义的软输入面板,并希望找到Caret的位置。如果它覆盖了输入文本的位置,我可以将SIP移开。
听起来像在Windows中这样做的方法是使用GetGUIThreadInfo()。但是,Windows CE(特别是CE 6.0 R3)中似乎不支持API。
是否有其他方法可以找到相同的信息?一种确定活动窗口的方法以及在其上输入文本的位置?
谢谢!
答案 0 :(得分:0)
插入符号应仅显示在具有焦点且处于活动状态的窗口上。怎么样:
POINT cp;
GetCaretPos(&cp); // in client coordinates
HWND hActive=GetActiveWindow();
如果您需要更多信息(如特定子窗口),您可以将GetCaretPos()
返回的点转换为屏幕坐标,然后使用WindowFromPoint()
转换回特定(子)窗口句柄