Mesoscopic Programming

タコさんプログラミング専門

Tips #023 WM_CREATE でやって良いこと悪いこと

要注意!

WM_CREATE イベント中にやって良いことと悪いことがある。
普通、WM_CREATE でやることと言えばウィンドウの初期化である。
しかしながら、ここでウィンドウの状態を変えるような初期化作業を行ってはならない。
なぜならば、まだ初期化が終わってないのに WM_CREATE 以外のイベントが発生してしまう可能性があるからである!
私は WM_CREATE 中にメニューの初期化を行おうと SetMenu() 関数を呼んだ。
ところが SetMenu() 関数内部で WM_SIZE イベントが発生してしまい、まだ初期化してないオブジェクトをアクセスしてしまったのである。
ああ、驚いた。

以上です。