今回 MessageBox を使って、終了確認を行っていたのですが、どうやらフルスクリーンになると
表示できないようなのですが、改善方法はないでしょうか?
以下が、MessageBox に使ったコードです。
int flag=MessageBox(GetMainWindowHandle() ,TEXT("本当に終了しますか?") , TEXT("終了確認") , MB_YESNO | MB_ICONQUESTION | MB_TOPMOST); if(flag==IDNO){// NO を選択した。 //終了をキャンセル。 } else{// YES を選択した。 //終了処理 }この方法では、ウィンドウが最上面に表示されなかったりします。
たまに表示されたかと思って、「いいえ」を押してみると、
一瞬だけウィンドウのフォーカスがMessageBox にうつったせいか、
すぐにゲームには戻らず、一瞬だけデスクトップ画面にもどってまたゲームにもどります。
あたかも、Ctrl+Tab で一瞬だけ他のウィンドウにフォーカスした感じです。
他には、MessegeBox を移動したらメインウィンドウの画面が更新できないので、
画面にたくさんのMessegeBox がたぶった状態になったりします。
返り値を待っているからあたりまえでしょうが・・・
これらの問題点を解決する、他の方法や、改善する方法ありませんでしょうか?
ちなみに、ダイアログはほとんど初心者で、コピペ程度しかできません。
(この機会に学ぼうかとも思ってます。)