WM_PAINTで再描画

[戻る]
sya 2002/01/07(月) 15:07:26
MFCで、ひとつのイメージを持つダイアログから、ボタンを押すと自分が作成した
CFrameWndを継承したウィンドウが表示されるプログラムを作成しました。
しかし、このダイアログとウィンドウが重なっているとこのウィンドウを閉じたと
きに、ダイアログのイメージが再描画されず消えたままになってしまいます。
このような場合、WM_PAINTはダイアログに対して送られないのでしょうか。
また、もし自分でWM_PAINTを送る場合は、どのようにしたらよいのでしょうか。

Bun 2002/01/07(月) 18:29:22
>このような場合、WM_PAINTはダイアログに対して送られないのでしょうか。

送られると思います。

OnPaint()内に再描画のコードを書かれていますか?

sya 2002/01/07(月) 19:02:24
レスありがとうございます。

>OnPaint()内に再描画のコードを書かれていますか?

はい、書いています。

自分でいろいろ試してみたのですが、ピクチャのプロパティの「タイプ」が「四角」
になっていたのを、「フレーム」に直したらちゃんと再描画されました。
この「四角」と「フレーム」の違いで、再描画に何か影響を及ぼすのでしょうか。
ご存知でしたら教えてください。

ちなみに、上で書いた「イメージ」は「ピクチャ」の間違いでした。すみません。

Bun 2002/01/07(月) 20:20:46
>この「四角」と「フレーム」の違いで、再描画に何か影響を及ぼすのでしょうか。

私の環境では、どちらでも再描画されましたけど・・・
スタイルは SS_BLACKRECT, SS_BLACKFRAME でした。

古いスレッドには追加発言できません。