現在アクティブなテキスト入力カーソルの画面座標を決定する最良の方法は何ですか?
テキストが入力されたときにユーザーにいくつかの提案オプションを表示できるように、インラインの音訳プログラムにこれが必要です。
最初にスレッド入力をアクティブなアプリケーションに接続します ( AttachThreadInput
)。次に、キャレットの位置を取得しますGetCaretPos
。位置はクライアント座標であり、呼び出しGetFocus
てキャレットを持つウィンドウへのハンドルを取得し、座標を で画面座標に変換しますClientToScreen
。最後に、再度呼び出してスレッド入力を切り離しますAttachThreadInput
。