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

解決


あんこう  2011-01-17 02:57:13  No: 72187

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


オショウ  2011-01-17 08:45:42  No: 72188

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

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

以上。参考まで


ryo  2011-01-17 09:42:05  No: 72189

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

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

などがあれば…

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


あんこう  2011-01-17 17:48:31  No: 72190

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


ryo  2011-01-17 22:43:11  No: 72191

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

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


  2011-01-18 00:43:02  No: 72192

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


あんこう  2011-01-18 00:45:28  No: 72193

↑の"あ"は私です。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加