• 締切済み

(VC++2010)画像をドラッグしたいのですが

VC++初心者です。 学校の課題で、 Buttonを押して、画像ファイルを読み込みpictureBox1に表示 ↓ pictureBox1上でマウスドラッグをして、ドラッグで選択された長方形の部分の画像をコピーし、pictureBox2に表示 というプログラミングを書きたいのですが、ドラッグのところで詰まってしまっています。 ドラッグを開始した座標などをどう上手く使って行けばいいのかがわかりません… 初心者すぎて質問の仕方もイマイチわからないのですがどなたか教えて頂けると幸いです。

みんなの回答

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.2

開発中の環境は Win32/MFC/C++Cli(WindowsForm)どれでしょう Win32なら WM_LBUTONDOWNメッセージを WndProcのメッセージ処理部 MFCなら PictureBoxのOnLButtonDown ハンドラ WindowsFormなら OnMouseDownハンドラ といった具合になります …

  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.1

pictureBox1内でマウスの左ボタンが押下されたらドラッグ開始。 WM_LBUTTONDOWNのメッセージハンドラで開始座標を保持。 pictureBox1内でマウスの左ボタンが離されたらドラッグ終了。 WM_LBUTTONUPのメッセージハンドラで終了座標を取得。 で、開始座標と終了座標を比較して、より左上に近い側が始点として画像をコピーでしょうかね。 # ドラッグしながらpictureBox1の外へ行ってしまった場合の処理をどうするのか?というのがありますが……。 マウスキャプチャーとかのキーワードでも調べる必要ありますかねぇ。 右ボタンで…とかでしたらメッセージは読み替えて下さいな。 # 選択中の矩形を表示する場合はまた別の処理が必要ですけど。 # 「ラバーバンド」とかで検索して下さい。

関連するQ&A

専門家に質問してみよう