2012-03-01 13 views
0

ユーザーがアプリケーション上のボタンを使用して画面を回転すると、黒で表示されるDirectDrawアプリケーション(c)があります。これを行うには、ボタンでenumdisplaysettingsを使用します。私はこれをNvidiaとATIの両方でテストしましたが、問題は解決しません。DirectDrawアプリケーションが画面の向きを変更した後に黒くなる

directdrawアプリケーションを "displaysettings-proof"にする方法はありますか?画面を回転させた後に表示を戻すコードを追加できますか?

+0

DirectDrawをシャットダウンして再初期化する必要があります。私はこれを自分でやったことはありませんが、私の同僚がそれをたくさん誓っていることを聞いています。 – Deanna

+0

あなたを誓う人々のリストに追加することができます。私はもっ​​と簡単な方法があることを望みます。私はそのルートを追求する前にもう少し事をテストしています。たぶんそれはバッファと関係しているかもしれません。アイデアが足りない – zoyidian

答えて

0

IDirectDraw :: RestoreDisplayModeを使用して、表示モードをIDirectDraw :: SetDisplayModeが呼び出される前の状態にリセットすることができます。しかし、これがあなたの望むものなのかどうかは分かりません。

+0

enumdisplaysettingsを呼び出す前に、IDirectDraw :: RestoreDisplayModeを明示的に呼び出す必要がありますか?または、画面が反転したらIDirectDraw :: RestoreDisplayModeを設定するだけですか? – zoyidian

+0

また、Windows CEではなくWindowsデスクトップ上にあります。 – zoyidian

関連する問題