ウィンドウプロシージャの変数の初期化方法

解決


ごま  2004-03-23 22:01:03  No: 53384  IP: [192.*.*.*]

お世話になってます。ごまです
また作っていて壁にぶちあたったので  質問させてください
コンソールアプリケーション(?)の場合
main()関数の一番上から一番下まで制御がだんだん
降りていくだけなので  変数の最初の値を定めたい場合
main()関数内の一番上で初期化すればよかったんですが
Win32APIのウィンドウプロシージャにおいては
その文の最初で初期化したとして
プロシージャにメッセージが送られるごとに代入されてしまうので
その後他の値を代入してもすぐに初期値に戻ってしまうので
どこで初期化したらよいのかわかりません
わからなかったので  外部変数として宣言して
WinMain()関数の一番初めの部分で初期化して
プロシージャで使っていたのですが
わかりにくいです・・
プログラム起動時にのみ一度だけ送られるメッセージなどが
あるのでしょうか
それとも何か他の標準のやり方みたいなものがあるのでしょうか
それとも臨機応変に対応するしかないのでしょうか
またまた超初心者の質問で申し訳ありませんが
おねがいします

編集 削除
RiSK  2004-03-24 00:05:23  No: 53385  IP: [192.*.*.*]

保存が必要なら

  static int i = 100 // 一回目だけ初期化

で OK だと思います。

編集 削除
ごま  2004-03-24 00:18:19  No: 53386  IP: [192.*.*.*]

あーーー
できました
できたけどstaticの本質をよく理解してなかったって事も
わかったのでもう一回調べてみます
ありがとうございました!
かなり基礎的な事で申し訳ないです

編集 削除