テキストボックスにおいてカーソル位置の座標を取得するにはどうすればよいのでしょうか?よく「スクリーン座標を取得」というのはみかけますが、それはどういうことなのですか?もし取得した位置座標に画像を表示したとすると、フォームを動かした祭に画像は動かず、最初に取得した座標位置に表示さえたままになるのでしょうか?
スクリーン座標は、画面の左上隅を原点とした絶対座標です。
APIを前提にすると、たいてい、単位はpixelになります。
「描画」はデバイスコンテキストを指定して行われます。
画像表示に利用したデバイスコンテキストを持つFormWindowが移動すれば
画像も移動します。
「テキストボックスのカーソル位置」とはマウスカーソルではなく
キャレットですね。キャレット位置はSelStartで取得できます。
ここでいうカーソル位置というのが、キャレットの座標の事であれば、
GetCaretPos APIを使うことができます。
行位置・桁位置の事であれば、EM_LINEFROMCHARメッセージと
EM_LINEINDEXメッセージが利用できるかと思います。
キャレットではなく、マウスカーソルの座標の事であれば、
GetCursorPos APIが利用できます。
なんとかやってみます。ありがとうございした
ツイート | ![]() |