■ 新・ゲーム開発講座 |
■ へっぽこプログラミング入門♪ |
■第30夜:やや、やっぱり書き換えが!? ・・・・今回は、まず皆様にお詫びを申し上げます m(_ _)m
これを防ぐには、main.cpp イベントハンドラ Win_Proc() に _WM_PAINT メッセージの処理部分を書き加えればOKです。_WM_PAINT はウィンドウの再描画の必要性が発生した場合(重なっていたウインドウが移動した・・・など)に降ってくるメッセージで、追加部分の処理ではバックサーフェイスの内容を表に転送して対応しています。BitBlt() の直後で return DefWindowProc(hwnd,msg,wprm,lprm); という記述がありますが、これは _WM_PAINTメッセージの副作用(処理の最中に再入してきたりいろいろ妙なことを引き起こすらしいです・・・・^^;)を帳消しにするためにデフォルト処理を呼んでいるものです。実は私もこのあたりの内部的な動作については分からないところがイロイロあります(爆死 ^^;) まあ、とりあえず実質2行の記述で御利益が得られるので、いまはこうして使っておきましょう(う〜ん、へっぽこ的♪) |
LRESULT WndProc(HWND hwnd,UINT msg,WPARAM
wprm,LPARAM lprm) {
} |
たったこれだけではありますが、一応ソースとサンプルスクリプトを用意してあります♪(^^;) 以前の実行ファイルと比べてどう違うのか比較してみて下さい。 |