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

MFC Discussion :

[Property Sheet / Page - Fullscreen]


Sujet :

MFC

  1. #1
    Membre chevronné
    Inscrit en
    Février 2008
    Messages
    413
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Février 2008
    Messages : 413
    Par défaut [Property Sheet / Page - Fullscreen]
    Bonjour,

    je travaille en ce moment sur une application MFC qui utilise une Property Sheet pour afficher différentes fenêtres (les Property Pages).

    L'une de ces fenêtre est une vue 3D en OpenGL, que j'aimerais pouvoir afficher en plein écran.

    J'ai essayé d'utiliser ce type de code sur ma property page:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CDC* pDC = GetDC();
     
    int pixelsX		= pDC->GetDeviceCaps(HORZRES);
    int pixelsY		= pDC->GetDeviceCaps(VERTRES);
    MoveWindow(0,0,pixelsX, pixelsY);
    ....et ca ne marche pas...Plus précisément, ma property page change de place et "couvre" la partie de la property sheet où l'on peut sélectionner d'autres pages, mais c'est tout, elle ne dépasse jamais la taille de la property sheet.

    J'ai essayé d'appliquer le même code à:
    - la property page
    - la property sheet
    - le parent de la property sheet
    - etc...

    rien n'y fait...

    J'ai aussi essayer de retirer ladite page de la property sheet avant de l'agrandir, mais la fonction RemovePage détruit la fenêtre correspondante...et donc ca plante.

    Bref, je suis bien bloqué et si quelqu'un a des idées, elles sont les bienvenues!

    Merci d'avance!

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 446
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 446
    Par défaut
    http://msdn.microsoft.com/en-us/libr...b0(VS.80).aspx

    Ce GetDC [MFC] est spécifique à la fenêtre (l'objet CWnd this). Ce DC retourné est donc "clipé" sur la zone d'affichage de cette fenêtre.

    Utilisez plutôt celle-ci pour avoir tous l'écran :
    http://msdn.microsoft.com/en-us/library/aa921543.aspx

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HDC hdc = ::GetDC(NULL);
    C'est les :: de la mort.

  3. #3
    Membre chevronné
    Inscrit en
    Février 2008
    Messages
    413
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Février 2008
    Messages : 413
    Par défaut
    Merci pour cette réponse!

    Cependant: j'utilise ce DC uniquement pour récupérer la résolution de l'écran.
    J'utilise alors ces dimensions pour étendre ma fenêtre à tout l'écran, mais le DC n'intervient pas directement dans le déplacement de la fenêtre.

    en revanche ce que vous dites sur le clipping est interessant, je pense qu'il faut que j'agrandisse la zone client de la fenêtre contenant ma property sheet avant de pouvoir agrandir cette derniere.

    Bref, je continue à chercher!

  4. #4
    Membre chevronné
    Inscrit en
    Février 2008
    Messages
    413
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Février 2008
    Messages : 413
    Par défaut
    Re,

    j'ai finalement trouvé comment faire, si ca interesse quelqu'un...:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    // 1. Replace current parent by the desktop window
    // --------------------------------------------------------------
    this->SetParent(GetDesktopWindow());
     
    // 2. Retrieve desktop size
    // --------------------------------------------------------------
    CRect desktopRect;
    GetDesktopWindow()->GetWindowRect(&desktopRect);
     
    // 3. Maximize our dialog size
    // --------------------------------------------------------------
    this->SetWindowPos(&wndTopMost, desktopRect.left, desktopRect.top,
    			     desktopRect.right, desktopRect.bottom, 			
    			SWP_SHOWWINDOW);

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Widget Table Properties Sheet
    Par azerr dans le forum SWT/JFace
    Réponses: 2
    Dernier message: 24/03/2008, 20h44
  2. [MFC] property sheet
    Par benahpets dans le forum MFC
    Réponses: 5
    Dernier message: 18/05/2006, 17h55
  3. [MFC] Property sheet et controles
    Par LapinGarou dans le forum MFC
    Réponses: 3
    Dernier message: 21/12/2005, 10h44
  4. Property sheet
    Par LapinGarou dans le forum MFC
    Réponses: 2
    Dernier message: 05/12/2005, 09h05
  5. [MFC]Property Sheet resizable
    Par fr66 dans le forum MFC
    Réponses: 4
    Dernier message: 14/06/2004, 17h28

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