- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VC++ スクロールバーが何ピクセル移動したか知るには?)
VC++スクロールバーでのマウス座標の取得方法
このQ&Aのポイント
- VC++初心者の方ですね。子ウィンドウにビットマップ画像を表示し、マウスポインタが指している場所のRGB値を表示するプログラムを作成している中で、スクロールバーがある子ウィンドウではスクロールした後でもマウスポインタの座標が子ウィンドウの左上に表示されてしまいます。そこで、スクロールしたピクセル数を取得し、その分マウスポインタの座標に加算する方法を知りたいということですね。OnHScrollとOnVScrollを使用するのかどうか迷っているようですが、適切な変数にスクロールしたピクセル数を格納する処理があれば教えてほしいということですね。
- VC++初心者の方が、子ウィンドウにビットマップ画像を表示し、マウスポインタが指している場所のRGB値を表示するプログラムを作成しています。しかし、スクロールバーがある子ウィンドウではスクロールした後でもマウスポインタの座標が子ウィンドウの左上に表示されてしまいます。そこで、スクロールしたピクセル数を取得し、その分マウスポインタの座標に加算する方法を知りたいという質問です。OnHScrollとOnVScrollを使用するのかどうか悩んでいるようです。
- VC++初心者の方が、子ウィンドウにビットマップ画像を表示し、マウスポインタが指している場所のRGB値を表示するプログラムを作成中です。スクロールバーがある子ウィンドウでは、スクロールした後でもマウスポインタの座標が子ウィンドウの左上に表示されるため、スクロールしたピクセル数を取得してマウスポインタの座標に加算する方法を知りたいとのことです。OnHScrollとOnVScrollを使用するのか迷っているようで、適切な処理方法を教えてほしいとのことですね。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
OnHScrollとあるのでMFCのCScrollViewを使っているのですよね GetScrollPosもしくはGetScrollPositionでスクロール座標を取れませんか?
その他の回答 (1)
- KojiS
- ベストアンサー率46% (145/312)
回答No.1
スクロールバーは相対的になっているので、自分で計算しないといけません。 全部で何ピクセルあって、ウィンドウサイズがいくつで、スクロールバー最大値がいくつになっているから、スクロールバーがいくつ移動したら何ピクセル分移動した事になる。という感じでしょうか。
お礼
回答ありがとうございます。早速試してみたところ教えていただいた方法でできました。感謝!また、VC++のことで質問書き込むときがあるかもしれないので見かけた際は是非!よろしくお願いします。