楕円、円の描画方法は?


ホーホー  URL  2001-12-20 15:52:58  No: 50034  IP: [192.*.*.*]

●楕円、円の描画方法
マウスドラッグして円や楕円を書く場合、前もってクライアント領域に描画した
図形を壊さずに円や,楕円をマウスドラッグで自由に描画し軌跡を残さず
画面のちらつきが出ないように描画したいのですがどうすればよいでしょうか。
OnDraw()のところでBitBlt()の後にpDC->Ellipse()で円,楕円を描画しOnLButtonUp()で楕円をメモリデバイスコンテキストに書きBitBlt()で
高速描画しましたが,楕円をマウスドラッグしOnDraw()のところでpDC->Ellipse()で描画しているため画面にちらつきが出てしまいます。

編集 削除
テスト生  2002-01-06 10:07:53  No: 50035  IP: [192.*.*.*]

マウスを動かしている時にも円や楕円が変化するというものの事ならば、
いわゆるラバーバンドというやつだと思います。
調べて見てはいかがでしょうか?

編集 削除
ひろゆき  2002-02-07 11:37:04  No: 50036  IP: [192.*.*.*]

マウスをドラッグしている時のちらつきが気になるようであれば
OnDraw()で描画するのではなく、マウスをクリックした時に
pDC->Ellipse()を使って描画させてはいかがでしょうか?
pDCのポインタを取得するには、CWndクラスのGetDCを使うと
DCポインタを取得することがきます。
しかし、この方法を使うとマウスをドラッグしている間
線が描画されてしまうので、ドラッグした時の前の座標の
線をけさなければいけませんので注意してください。

編集 削除