DirectX総合スレ (Part9)at GAMEDEV
DirectX総合スレ (Part9) - 暇つぶし2ch603:名前は開発中のものです。
09/07/18 02:41:43 WxQiL2cL
>>601
windowsのウィンドウは、それを作成したスレッドでメッセージが処理される。
メインのウィンドウは必ずプライマリスレッドで生成されるから、メインウィンドウのWM_COMMANDを
実行中は、他のメッセージは処理できない。つまりメニュー表示中は画面を更新できない。
WM_COMMAND中にPeekMessageとかやれば別だが……PeekMessage埋め込みは、思わぬ問題を
引き起こしたり、コードがぐちゃぐちゃになったりするのでお勧めできない。

これを簡単に避ける方法は2つしかない。
ひとつは、メニューをゲーム画面中に実装して、OSのメニューは使わない方法。
もうひとつは、プライマリスレッドから入力スレッドを作成して、ゲームで利用する
ウィンドウは、すべて入力スレッドで作成する方法。
これだとゲーム画面の更新は入力スレッドで行われ、メニュー操作はプライマリスレッドで
行われるので、メニュー選択中の画面は更新される。


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch