• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ダイアログ上でマウスが止まった事を認識できますか。)

ダイアログ上でマウスが止まった事を認識できますか。

このQ&Aのポイント
  • MFCを駆使してダイアログに画像を出力するまではできましたが、そのあと、画像上にマウスで四角の領域を囲みたいのですが、うまくいきません。
  • マウスが動く瞬間四角が表示されますが、マウスが止まった時に四角をダイアログの画像上に描画する方法はありませんか?
  • この問題を解決するために、MFCのOnMouseMove関数を使用してマウスの移動を検知し、四角の描画を制御します。しかし、現在の実装ではマウスが動くと四角が表示されますが、マウスが止まった時に四角が消えてしまいます。解決策を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

描画はOnPainに記述すべきです。 よってOnMouseMoveでは(メンバ変数か何かで)矩形(かもう一方の座標)の情報を保持し、 OnPaintによってそれを描画するようにさせる。 OnMouseMoveでは矩形の設定とInvalidateの記述のみにする。 (場合によってはフラグが必要かも)

NEW2010
質問者

お礼

お忙しい中ご返信ありがとうございます! OnPaintでやってみましたが, OnMouseMoveにInvalidateを置く限り 矩形が消えてしまいます。 ご返信頂いてMFCを目を皿にして探索したところ, 「DrawDragRect」という関数がありました。 この関数で矩形をマウスで動かせました。 当方の経験不足が一番の問題であったようです・・ ですが!OnPaintでも矩形を作る方法がある事を 認識できた事も経験でき,感謝しております。 bluecampus殿には,引き続きご支援の程, よろしくお願い致します。

関連するQ&A