Visualizza una finestra di messaggio su un'applicazione DirectX a schermo intero


8

Nel nostro gestore di asserzioni personalizzate, vorrei visualizzare una finestra di messaggio che chiede se questo errore può essere ignorato o meno. Tuttavia, quando il nostro gioco DirectX è a schermo intero, non riesco a visualizzare la funzione MessageBox sopra lo schermo intero.

Nota: il primo parametro di MessageBox è l'HWND utilizzato per creare il dispositivo e non funziona ancora.

È possibile?

Risposte:


3

Sì, potresti benissimo essere sfortunato (anche se c'è un MessageBoxOptions che ti consente di specificare ServiceNotification, che potrebbe fare la cosa giusta http://msdn.microsoft.com/en-us/library/system.windows.forms .messageboxoptions.aspx )

In genere scrivo il mio rendering del messaggio a quel punto (per essere sicuro di poter usare l'assert ovunque, su xbox, qualunque cosa).


Il più vicino possibile è specificare MB_SETFOREGROUND, che funziona per il 50% delle volte per qualche motivo.
Jeff,

1

Prova invece a scrivere una GUI WPF (inizia con un prototipo).
Questo dovrebbe risolvere il tuo problema.
(Esegui il rendering su una superficie DirectX di WPF a schermo intero e non direttamente sullo schermo.)


1
Perché questo è votato verso il basso !? L'ho già fatto prima e funziona.
Danny Varod,

WPF richiede la creazione di uno stack gestito. In questo caso, avevo bisogno di una soluzione Win32 / DirectX pura.
Jeff,

3
Bene, affermalo nella domanda.
Danny Varod,

0

Per quanto ho potuto dire l'ultima volta che abbiamo provato questo, non è possibile.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.