マウスカーソルの位置座標を取得するには?

解決


ペンネーム  2003-03-26 16:59:49  No: 77458  IP: [192.*.*.*]

テキストボックスにおいてカーソル位置の座標を取得するにはどうすればよいのでしょうか?よく「スクリーン座標を取得」というのはみかけますが、それはどういうことなのですか?もし取得した位置座標に画像を表示したとすると、フォームを動かした祭に画像は動かず、最初に取得した座標位置に表示さえたままになるのでしょうか?

編集 削除
Say  2003-03-27 12:48:38  No: 77459  IP: [192.*.*.*]

スクリーン座標は、画面の左上隅を原点とした絶対座標です。
APIを前提にすると、たいてい、単位はpixelになります。

「描画」はデバイスコンテキストを指定して行われます。
画像表示に利用したデバイスコンテキストを持つFormWindowが移動すれば
画像も移動します。

「テキストボックスのカーソル位置」とはマウスカーソルではなく
キャレットですね。キャレット位置はSelStartで取得できます。

編集 削除
魔界の仮面弁士  2003-03-27 12:54:40  No: 77460  IP: [192.*.*.*]

ここでいうカーソル位置というのが、キャレットの座標の事であれば、
GetCaretPos APIを使うことができます。

行位置・桁位置の事であれば、EM_LINEFROMCHARメッセージと
EM_LINEINDEXメッセージが利用できるかと思います。

キャレットではなく、マウスカーソルの座標の事であれば、
GetCursorPos APIが利用できます。

編集 削除
ペンネーム  2003-03-28 15:20:56  No: 77461  IP: [192.*.*.*]

なんとかやってみます。ありがとうございした

編集 削除