- 192 名前:名前は開発中のものです。 mailto:sage [04/06/28 10:28 ID:Ten9Dr/x]
- >>188
簡単だが添削。ウィンドウプロシージャだけ。 DeleteObjectの2行はWM_PAINT内でやってはダメ。 WM_PAINTは何度も呼ばれるため、最初の描画が終了した時点で、作ったペンやブラシは 無効になるため、色がつかなくなる。DeleteObjectするならWM_DESTROY内で。 ちなみにCreateしたものはちゃんと削除するのがお約束。 SelectObjectしたものに関しても、元に戻しておくのが一応の作法。 holdobj = SelectObject(hdc, hobj);// 以前のオブジェクトハンドルを保存 // 何か処理 holdobj = SelectObject(hdc, holdobj);// 以前のオブジェクトに戻す 何故か赤く塗りつぶされないというのは、ディスプレイDCに複数回描画を行っていて、それが ちらつきとして現れるから。こういう場合はオフスクリーンに描画し、最後にディスプレイDCに BitBltする。
|

|