2009-07-09 10 views
0

J'écris une application MDI en utilisant Managed dx9. Lorsque je crée le périphérique, je transmets un contrôle.Managed DirectX9 MDI

Si je passe dans l'une des fenêtres enfants MDI (ou plus précisément, un contrôle dans la fenêtre enfant MDI), tout se passe bien. Je peux générer de nouvelles fenêtres MDI enfant et dessiner à chacun d'eux individuellement. Je peux fermer l'une des nouvelles fenêtres, pas de problème. Mais si je ferme la fenêtre enfant d'origine, Device.Clear() déclenche une exception (exception de référence null - le périphérique a été supprimé).

Sinon, je peux passer Form1 au constructeur de périphérique. Maintenant, je peux ouvrir et fermer autant de fenêtres enfants que je veux sans avoir l'exception, mais maintenant la résolution de rendu n'est pas tout à fait correcte - les graphismes ne sont pas aussi nets que lorsque je passe la fenêtre enfant au constructeur Device.

Donc, mes premières questions sont: Puis-je spécifier la résolution lorsque je construis l'appareil? Quel contrôle/fenêtre devrais-je transmettre au constructeur du périphérique? Qu'est-ce que je fais de mal? :)

Merci

Tim

Répondre

0

Je ne pouvais pas obtenir la résolution de travailler lors de l'utilisation de la forme que le contrôle passé au constructeur de l'appareil, donc je recréées l'appareil si jamais il est devenu disposé.

1

Vous devez savoir que Managed DirectX est obsolète et ne sera plus jamais mis à jour par Microsoft. Vous devriez plutôt utiliser SlimDX.