[C#][DirectX Managed] Passer en mode plein écran

Passer en mode plein écran [C#][DirectX Managed] - C#/.NET managed - Programmation

Marsh Posté le 30-01-2007 à 15:46:18    

salut à tous !
 
je développe un programme sous .NET qui requiert des passages en mode plein écran et retours en mode fenêtré. pour vous donner une idée, je développe un diaporama style IrfanView. ceci étant dit, mon problème se trouve lorsque je désire passer en mode plein écran. mon device étant créé en mode fenêtré, lorsque j'essaie de passer en mode plein écran (avec la méthode Reset), un InvalidCallException apparait ! =\
 
la création du device au début du programme :

Code :
  1. // Définition des PresentParameters
  2. presentParams.Windowed = true;
  3. presentParams.SwapEffect = SwapEffect.Discard;
  4. presentParams.EnableAutoDepthStencil = true;
  5. presentParams.AutoDepthStencilFormat = DepthFormat.D16;
  6. // Creation du device
  7. device = new Device(0, DeviceType.Hardware, this, CreateFlags.SoftwareVertexProcessing, presentParams);
  8. device.DeviceReset += new System.EventHandler(onResetDevice);


 
plus loin dans le programme quand je désire passer en mode plein écran

Code :
  1. DisplayMode displayMode = Manager.Adapters.Default.CurrentDisplayMode;
  2. presentParams.BackBufferFormat = displayMode.Format;
  3. presentParams.BackBufferWidth = displayMode.Width;
  4. presentParams.BackBufferHeight = displayMode.Height;
  5. presentParams.Windowed = false;
  6. presentParams.SwapEffect = SwapEffect.Discard;
  7. device.Reset(presentParams);


 
c'est lors de l'appel à ce device.Reset que l'aplli plante.
 
merci d'avance pour votre aide !

Reply

Marsh Posté le 30-01-2007 à 15:46:18   

Reply

Marsh Posté le 30-01-2007 à 21:57:44    

s'il manque des informations qui pouraient vous mettre la puce à l'oreille dites-le moi. je suis un peu dépassé avec cette erreur.

Reply

Marsh Posté le 31-01-2007 à 11:49:16    

pas d'idées ? ce code vous semble normal ou je suis complètement à côté de la plaque ?

Reply

Marsh Posté le 31-01-2007 à 21:13:58    

je précise, si ça peut vous mettre sur la voie, que même en essayant de créer le device (au début du programme, premier morceau de code) en mode Windowed=false; ça ne passe pas.
 
j'ai essayé de définir plus de PresentParameters, ça ne passe pas mieux. y aurait-il quelque chose à faire de spécifique lors l'appel à la fonction OnLostDevice ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed