IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

DirectX Discussion :

[Direct3D plein écran avec fenêtre fille ?]


Sujet :

DirectX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Avril 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 2
    Par défaut [Direct3D plein écran avec fenêtre fille ?]
    Bonjour à tous,

    j'aimerais savoir si c'était possible d'afficher une fenêtre fille dans une fenêtre direct3D en plein écran ?

    Mon but étant de pouvoir visualiser une fenêtre flash (contenue dans une fenêtre fille avec le style WS_POPUP) dans une application Direct3D en plein écran qui affiche des choses diverses comme graphiques et textures.

    Cela fonctionne bien en mode "windowed", mais pas en mode plein écran. En mode plein écran, ma fenêtre fille s'affiche brièvement et doit être effacée par le refresh de l'affichage Direct3D sans doute. Quand je clique sur ma fenêtre fille, elle s'affiche "en clignotant" presque, et mon curseur de souris ne veut plus retourner sous l'affichage Direct3D, il reste cloisonné dans ma fenêtre fille.

    En effectuant plusieurs recherche, j'ai lu que l'affichage Direct3D en fullscreen utilisait un mode exclusif, et j'aimerais toutefois savoir, si vous aviez des solutions à me proposer.

    J'utilise VC ++ 6.0 et direct3D 9.

    Merci pour vos réponses.

  2. #2
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 539
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 539
    Par défaut
    je doute que cela soit possible plein écran c'est plein écran le niveau coopératif est différent

  3. #3
    Membre Expert

    Profil pro
    Programmeur
    Inscrit en
    Août 2002
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Programmeur

    Informations forums :
    Inscription : Août 2002
    Messages : 1 091
    Par défaut
    C'est possible
    il suffit d'afficher une fenetre qui s'affiche sur tout l'écran (sans border).

    C'est comme ça que la plupart des "applications" (qui ne sont pas des jeux) qui s'affichent en plein écran font pour rester compatible avec les popups et autres interventions du desktop.
    En général par contre les jeux vidéo utilisent le mode plein écran normal tout simplement parce que la performance est meilleure (flipping à la place de blitting) et que c'est le seul moyen de garantir un vrai flipping synchronisé verticalement (à la vitesse du refresh écran). Et ça utilise moins de ressources (par exemple sous Vista passer en mode plein écran exclusif est le signal pour que l'OS décharge la mémoire du bureau accéléré DWM).

    Il y a une autre solution appelée "enterdialogboxmode" mais c'est vraiment crade et je ne la recommande pas..

    LeGreg

    Mon site web | Mon blog | Mes photos | Groupe USA
    > BONJOUR, JE SUIS NOUVEAU SUR CE FORUM
    > presse la touche caps lock, stp
    > OH.. MERCI C EST BEAUCOUP PLUS FACILE COMME CA

  4. #4
    Inactif  

    Homme Profil pro
    Ingénieur test de performance
    Inscrit en
    Décembre 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur test de performance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 986
    Par défaut
    Bonjour.

    Tu peux aussi regarder du côté du sample CustomUI du SDK de directx. Il doit sûrement y avoir des pistes à creusées.

  5. #5
    Nouveau candidat au Club
    Inscrit en
    Avril 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 2
    Par défaut
    Merci à tous pour vos éléments de réponse.

    LeGreg : En effet, j'avais déjà essayé de faire ce que tu dis, de faire un "faux" plein écran en étant en mode windowed = true mais en prenant toute la résolution de l'écran. Celà fonctionnait bien, mais cela nétait pas une solution pour moi car tu ne profites pas des optimisations d'affichage du mode fullscreen de direct3d.

    Sur un autre forum, on m'a parlé d'une fonction, SetDialogBoxMode(), qui m'a permit de résoudre mon problème. Ma fenêtre fille s'affiche bien en mode plein écran et je peux cliquer tantôt sur elle, tantôt sur ma fenêtre direct3D.

    Cependant, il faut que je vérifie maintenant les performances et le comportement de cette solution.

    Merci encore !

Discussions similaires

  1. Fenêtre en plein écran avec composants redimensionnés
    Par Invité dans le forum Interfaces Graphiques en Java
    Réponses: 3
    Dernier message: 29/01/2011, 09h05
  2. Réponses: 7
    Dernier message: 12/11/2007, 21h08
  3. Fenêtre en plein écran avec XPCE
    Par j07nathan dans le forum Prolog
    Réponses: 2
    Dernier message: 03/03/2007, 09h48
  4. Ouvrir une popup en plein écran avec une barre de menu.
    Par magic8392 dans le forum Général JavaScript
    Réponses: 21
    Dernier message: 12/10/2005, 10h43
  5. Thread et affichage direct3D plein écran
    Par Harry_polin dans le forum DirectX
    Réponses: 8
    Dernier message: 13/03/2003, 22h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo