Afficher une boîte de message sur une application DirectX plein écran

8

Dans notre gestionnaire d'assertion personnalisé, j'aimerais afficher une boîte de message vous demandant si cet échec peut être ignoré ou non. Cependant, lorsque notre jeu DirectX est en plein écran, je ne parviens pas à afficher la fonction MessageBox au-dessus du plein écran.

Remarque: Le premier paramètre de MessageBox est le HWND utilisé pour créer le périphérique, et cela ne fonctionne toujours pas.

Est-ce seulement possible?

Jeff
la source

Réponses:

3

Oui, vous risquez fort mal d'avoir de la chance - (bien qu'il existe un MessageBoxOptions qui vous permet de spécifier ServiceNotification, ce qui pourrait faire la bonne chose http://msdn.microsoft.com/en-us/library/system.windows.forms .messageboxoptions.aspx )

En règle générale, j'écris mon propre rendu de message à ce stade (pour vous assurer que vous pouvez utiliser l'assertion n'importe où, sur xbox, peu importe).


la source
Le plus proche que j'ai pu obtenir est de spécifier MB_SETFOREGROUND, qui fonctionne 50% du temps pour une raison quelconque.
Jeff
1

Essayez d'écrire une interface graphique WPF à la place (commencez par un prototype).
Cela devrait résoudre votre problème.
(Rendu sur une surface DirectX WPF plein écran et non directement sur l'écran.)

Danny Varod
la source
1
Pourquoi est-ce rejeté?! Je l'ai déjà fait auparavant et cela fonctionne.
Danny Varod
WPF nécessite la création d'une pile gérée. Dans ce cas, j'avais besoin d'une solution Win32 / DirectX pure.
Jeff
3
Eh bien, dites-le dans la question.
Danny Varod
0

Pour autant que j'ai pu le dire la dernière fois que nous avons essayé, ce n'est pas possible.

coderanger
la source