2010-11-23 5 views
0

私はカスタムのソフト入力パネルを作成しており、キャレットの位置を探したいと思います。テキストが入力されている位置をカバーしていれば、SIPを外に出すことができます。Windows CEでのキャレットの画面位置を検索します。 (Equiv to GetGUIThreadInfo?)

Windowsでは、これを行う方法がGetGUIThreadInfo()で行われるように思えます。ただし、APIはWindows CE(特にCE 6.0 R3)ではサポートされていないようです。

この同じ情報を見つける別の方法がありますか?アクティブなウィンドウを決定する方法、およびテキストを入力する場所

ありがとうございます!

答えて

0

キャレットは、フォーカスを持ってアクティブなウィンドウにのみ表示されます。どのようなものについて:あなたは(特定の子ウィンドウのように)より多くの情報を必要に応じて

POINT cp; 
GetCaretPos(&cp); // in client coordinates 
HWND hActive=GetActiveWindow(); 

、あなたはポイントが戻って、特定の(子)ウィンドウに変換するために、WindowFromPoint()を使用し、その後、スクリーン座標にGetCaretPos()によって返さ変換することができハンドル。

+0

Corey、これは私がこれに対処していたものの、IIRCは、あなたが提案したような解決策にはならなかった理由は、Windows-CE 6.0 GetCaretPosが、キャレットを所有するウィンドウ。私はSIPからこの情報にアクセスしようとしていたので、私は別のプロセスでキャレットの位置を見つけようとしていたので、このメソッドを使用できませんでした。 – eoldre

関連する問題