WM_PAINT以外で描画処理はできませんか?
main関数にあわせて表示する画像を変えたいのですが、WM_PAINT以外で描画できません。
できなければ、どうすればいいかを教えてください。
できればグローバル変数は使いたくないのですが…
任意のタイミングでWM_PAINTを発生させればよいと
言うことなのでは?
画面のちらつきと言う問題は別にありますが
UpdateWindow()関数や、RedrawWindow()関数
InvalidateRect()関数を調べてみて下さい。
以上。参考まで
情報が少ないので答えにくいかな
動作対象のOSはなんなのか?
作ってるアプリはどんなものなのか?
何を表示したいのか?
そもそもなんで、WM_PAINTで呼ばれた時にやるのがいやなのか?
などがあれば…
ところでmain関数ってエントリーポイントとしてのmain()?
動作対象OSはXP,Vista,7です。
いくつかの画像を表示するものなのですが、WM_PAINTでどの画像を表示したいのですが、どの画像を表示すればいいかの区別の仕方がわからないので…
区別の仕方だけでもわかるといいのですが…
>どの画像を表示すればいいかの区別の仕方がわからないので…
区別するためのデータを保持するしかない
その内容は、作成者のあんこうさんが決めることで
番号でも、文字列でも、読み込んだが画像データそのものでもいい
どこにつくるか?は・・・
・ウィンドウの生存期間と同等かそれ以上の生存期間
・条件を決定する関数、WM_PAINTの関数の両方からアクセスできる
・管理しやすい
この3つみたせば、どんなんでもいいと思う
仕方なくグローバル変数を使いました。
MDCを使いましたが、MDCのHDC型の変数だけですみました!
ありがとうございました。
↑の"あ"は私です。
ツイート | ![]() |