ページ 11

マウスドラッグによる矩形描画について

Posted: 2021年2月20日(土) 20:23
by アレン
https://blog.goo.ne.jp/masaki_goo_2006/ ... 130cb57694
こちらのサイトを参考にというか丸写し(Ellipseは消しています)したのですが、
前回の線が残ったままでたくさんの長方形が出来てしまいます。
VC++2019を使用しています。

Re: マウスドラッグによる矩形描画について

Posted: 2021年2月20日(土) 21:00
by あたっしゅ
東上☆海美☆「
 引用サイトのコードをコンパイルしてみましたが、WinMain が無いので、そのままでは動かないみみ。どっか、別の場所にあるのかな ?
 マウスの左ボタンを押しっぱなしのまま、マウスを動かすごとに長方形が描かれ増えていく、ということなら、
それは、そういうプログラムだから、みみ。
 マウスを動かすと、長方形が変形する、みたいなものを期待するなら、xor モードで描いて、
次に描く前にもう一度描いて消す、というプログラムを作るなり、検索してくるなりしてみみ。

Re: マウスドラッグによる矩形描画について

Posted: 2021年2月20日(土) 21:27
by アレン
あたっしゅ さんが書きました:
4年前
東上☆海美☆「
 引用サイトのコードをコンパイルしてみましたが、WinMain が無いので、そのままでは動かないみみ。どっか、別の場所にあるのかな ?
あ、すみません。
丸写しとは言いましたが、流石にそのままコンパイルはしてないです。。。
子ウィンドウで処理したかったので、子ウィンドウのプロシージャ内に記述しました。
あたっしゅ さんが書きました:
4年前
 マウスの左ボタンを押しっぱなしのまま、マウスを動かすごとに長方形が描かれ増えていく、ということなら、
それは、そういうプログラムだから、みみ。
 マウスを動かすと、長方形が変形する、みたいなものを期待するなら、xor モードで描いて、
次に描く前にもう一度描いて消す、というプログラムを作るなり、検索してくるなりしてみみ。
InvalidateRectの第三引数にTRUEを指定しているのでWM_PAINT内のBeginPaintで消えるのではないのですか?
例えばWindowsに標準でインストールされているペイントの選択ツール(四角形選択)を使ったときにマウスをドラッグして範囲を指定するということを実装したいのですが。。。

Re: マウスドラッグによる矩形描画について

Posted: 2021年2月21日(日) 14:20
by あたっしゅ
東上☆海美☆「

#3> 例えばWindowsに標準でインストールされているペイントの選択ツール(四角形選択)を使ったときに
#3> マウスをドラッグして範囲を指定するということを実装したいのですが。。。

それの答えは、

#2>  マウスを動かすと、長方形が変形する、みたいなものを期待するなら、xor モードで描いて、
#2> 次に描く前にもう一度描いて消す、というプログラムを作るなり、検索してくるなりしてみみ。

だみみ。

 前売り券を買った同人誌即売会に行けないくらい体調が悪いので、サンプルソース等の返事は、遅くなるみみ。