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

解決


ペンネーム  2003-03-27 01:59:49  No: 77458

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


Say  2003-03-27 21:48:38  No: 77459

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

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

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


魔界の仮面弁士  2003-03-27 21:54:40  No: 77460

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

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

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


ペンネーム  2003-03-29 00:20:56  No: 77461

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加