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

Visual C++ Discussion :

Style de fenêtre


Sujet :

Visual C++

  1. #1
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 39
    Points : 27
    Points
    27
    Par défaut Style de fenêtre
    Bonjour

    Je suis parti du projet de base "hello world" pour développer mon appli (win32). Ma première fenêtre est créée comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    hWnd = CreateWindow(szWindowClass, szTitle,
                                             WS_POPUPWINDOW,
                                             CW_USEDEFAULT, 0, CW_USEDEFAULT, 0,
                                             NULL, NULL, hInstance, NULL);
    Un timer me déclenche l'instanciation d'un objet, qui me créer une seconde fenêtre comme ceci (il y en aura certainement plus, plus tard.) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    m_hframe = CreateWindow(szWindowClass,
                                       szTitle,
                                       WS_BORDER,
                                       CW_USEDEFAULT, 0, CW_USEDEFAULT, 0,
                                       /*hWnd*/NULL, NULL, hInst, (void*)this);
    La 1er fenetre est donc en plein écran sans bar de titre, ni bouton en haut à droite. Je souhaiterai afficher la seconde fenetre de la même manière que la 1ère, en plein écran, sans bar de titre.

    En mettant le style à la place de lors de la création de la second fenêtre, la fenetre est bien créée (présente dans la bar des taches & dans spy++) mais n'est pas "affichée" à l'écran, on ne la "voit pas".

    Deux fenetres ne peuvent pas posséder simultanement ce style ?

    J'ai essayer de change le style de la fenetre une fois affichée, sans succès.

    Si vous avez une piste

    Merci d'avance
    Aurélien

  2. #2
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 39
    Points : 27
    Points
    27
    Par défaut
    j'ai coutourné le probleme en utilisant un code trouvé sur google groupe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    void MainFrame::GoFullScreen(HWND hwnd)
    {
      LONG wstyle;
      RECT rc = {0};
     
    /* You may want to save the original window rectangle
       and menu for restoring */
     
     // orig_menu = GetMenu(hwnd);
     // orig_rc = GetWindowRect(hwnd);
     
      wstyle = GetWindowLong(hwnd, GWL_STYLE);
      wstyle &= ~(WS_BORDER|WS_CAPTION|WS_THICKFRAME);
      SetWindowLong(hwnd, GWL_STYLE, wstyle);
     
    /* If you don't want a menu either: */
      SetMenu(hwnd, NULL);
     
    /* Now, fill a rect with the full coordinates of the screen. Note
       that  you will need to decide *which* monitor on
       multi-monitor systems. If that's not a concern, just use: */
      SetRect(&rc, GetSystemMetrics(SM_XVIRTUALSCREEN),
                     GetSystemMetrics(SM_YVIRTUALSCREEN),
                     GetSystemMetrics(SM_CXVIRTUALSCREEN),
                     GetSystemMetrics(SM_CYVIRTUALSCREEN));
     
    /* Resize the window to fit the screen: */
      SetWindowPos(hwnd, NULL, rc.left, rc.top, rc.right,rc.bottom, SWP_NOZORDER);
     
    }

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

Discussions similaires

  1. [VB 2005]fenêtre recherche de fichier style windows
    Par Yanos dans le forum Windows Forms
    Réponses: 10
    Dernier message: 28/07/2009, 11h34
  2. Imposer un style à la fenêtre d'aide
    Par michel71 dans le forum Langage
    Réponses: 2
    Dernier message: 22/09/2008, 17h27
  3. Réponses: 4
    Dernier message: 16/10/2006, 12h17
  4. Réponses: 3
    Dernier message: 08/10/2006, 19h59
  5. Style d'un fenêtre Windows
    Par Zazeglu dans le forum Windows
    Réponses: 4
    Dernier message: 12/10/2003, 18h19

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