描画を好きな所でするには?

解決


あんこう  2011-01-16 17:57:13  No: 72187  IP: [192.*.*.*]

WM_PAINT以外で描画処理はできませんか?
main関数にあわせて表示する画像を変えたいのですが、WM_PAINT以外で描画できません。
できなければ、どうすればいいかを教えてください。
できればグローバル変数は使いたくないのですが…

編集 削除
オショウ  2011-01-16 23:45:42  No: 72188  IP: [192.*.*.*]

任意のタイミングでWM_PAINTを発生させればよいと
言うことなのでは?

画面のちらつきと言う問題は別にありますが
UpdateWindow()関数や、RedrawWindow()関数
InvalidateRect()関数を調べてみて下さい。

以上。参考まで

編集 削除
ryo  2011-01-17 00:42:05  No: 72189  IP: [192.*.*.*]

情報が少ないので答えにくいかな

動作対象のOSはなんなのか?
作ってるアプリはどんなものなのか?
何を表示したいのか?
そもそもなんで、WM_PAINTで呼ばれた時にやるのがいやなのか?

などがあれば…

ところでmain関数ってエントリーポイントとしてのmain()?

編集 削除
あんこう  2011-01-17 08:48:31  No: 72190  IP: [192.*.*.*]

動作対象OSはXP,Vista,7です。
いくつかの画像を表示するものなのですが、WM_PAINTでどの画像を表示したいのですが、どの画像を表示すればいいかの区別の仕方がわからないので…
区別の仕方だけでもわかるといいのですが…

編集 削除
ryo  2011-01-17 13:43:11  No: 72191  IP: [192.*.*.*]

>どの画像を表示すればいいかの区別の仕方がわからないので…
区別するためのデータを保持するしかない
その内容は、作成者のあんこうさんが決めることで
番号でも、文字列でも、読み込んだが画像データそのものでもいい

どこにつくるか?は・・・
・ウィンドウの生存期間と同等かそれ以上の生存期間
・条件を決定する関数、WM_PAINTの関数の両方からアクセスできる
・管理しやすい
この3つみたせば、どんなんでもいいと思う

編集 削除
 2011-01-17 15:43:02  No: 72192  IP: [192.*.*.*]

仕方なくグローバル変数を使いました。
MDCを使いましたが、MDCのHDC型の変数だけですみました!
ありがとうございました。

編集 削除
あんこう  2011-01-17 15:45:28  No: 72193  IP: [192.*.*.*]

↑の"あ"は私です。

編集 削除