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

Windows Discussion :

Groupbox pas assez dynamique


Sujet :

Windows

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    382
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 382
    Par défaut Groupbox pas assez dynamique
    bjr a tous,

    Jai un petit soucis ! Je fais une IHM comportant un GroupBox dont la taille doit varier en fonction de la taille de la fenetre. J'utilise donc Movewindow lorsqu'un evenement SM_SIZE se produit.

    Le probleme c ke qd je bouge la fenetre, un nouveau groupBox apparait avec la taille convenable et l'ancien persiste avec son ancienne taille.. Jespere que c clair ce ke je raconte.. lol

    Kkun peut il me dire pk??

    Merci d'avance !

  2. #2
    Membre émérite
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Février 2004
    Messages
    644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Février 2004
    Messages : 644
    Par défaut
    t'aider ? non sauf si tu es plus explicite.

    Quels outils emplois-tu car on est pas devin.

    Merci

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    382
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 382
    Par défaut
    Desole pour mon manque de precision...

    Voila cmt je cré mon groupbox :

    case WM_CREATE:

    hGroupBoxInfo = CreateWindow("button","informations", WS_CHILD | WS_VISIBLE |BS_GROUPBOX, 10, 10, 0.5*taille_fenetre_principale.largeur, 350, hwnd, 0, hinst, NULL);

    et voila le code lorsqu'un evenement WM_SIZE se produit :

    GetWindowInfo(hwnd, pwi);
    taille_fenetre_principale.hauteur = pwi->rcWindow.bottom - pwi->rcWindow.top; taille_fenetre_principale.largeur = pwi->rcWindow.right - pwi->rcWindow.left;
    MoveWindow(hGroupBoxInfo, pwi->rcWindow.left, pwi->rcWindow.top, taille_fenetre_principale.largeur, taille_fenetre_principale.hauteur, TRUE);

  4. #4
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par défaut
    Citation Envoyé par swirtel
    Quels outils emplois-tu car on est pas devin.
    tu n'as pas répondu à la question : MFC, Win32, etc...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Utiliser les balises code pour... le code. Merci.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    382
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 382
    Par défaut
    Je travail en C++ avec visual c++ en win32 mais je n'utilise pas de MFC.

    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
    case WM_CREATE: 
                
    			
    	     if(boucleUnique == ONCE)
    			{
    				GetWindowInfo(hwnd, pwi);
    				printf("on le créé\n");
    				taille_fenetre_principale.hauteur = pwi->rcClient.bottom - pwi->rcClient.top;
    				taille_fenetre_principale.largeur = pwi->rcClient.right - pwi->rcClient.left;
    				boucleUnique++;
    			}
    
                   		
          hGroupBoxInfo = CreateWindow("button","informations", WM_CHILD | WS_VISIBLE| BS_GROUPBOX, pwi->rcWindow.left+10, 10, 0.9*taille_fenetre_principale.largeur, 350, hwnd, 0, hinst, NULL);
    
    
    case WM_SIZE:
    
    			GetWindowInfo(hwnd, pwi);
    			taille_fenetre_principale.hauteur = pwi->rcWindow.bottom - pwi->rcWindow.top;
    			taille_fenetre_principale.largeur = pwi->rcWindow.right - pwi->rcWindow.left;
    			MoveWindow(hGroupBoxInfo, 0.5*pwi->rcWindow.left, 0.5*pwi->rcWindow.top, 0.5*taille_fenetre_principale.largeur, 0.5*taille_fenetre_principale.hauteur, TRUE);
    			ShowWindow(hGroupBoxInfo, SW_SHOW);
                             return 0;
    J'ai modifier mon code pour arriver a ce que je te montre maintenant. Le probleme, c'est que j'ai beau changer la taille de ma fenetre, le groupBox ne bouge pas...

    Tu vois d'ou vient le problme??

    Merci pour ton aide

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    382
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 382
    Par défaut
    C'est bon, j'ai trouvé le probleme... En fait, j'avais déclaré le handle du groupbox ds le winproc et non en global ! c t tout con...

    Merci bcp a vous ! C'est vraiment sympa de se penché sur nos problemes ! Car la prog ca peut vite devenir galere !

  7. #7
    Membre émérite
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Février 2004
    Messages
    644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Février 2004
    Messages : 644
    Par défaut
    un conseil, fais tout de même attention à l'utilisation de variable globale, c'est fortement déconseillé. encapsule là avec une classe singleton.

Discussions similaires

  1. [Tableaux] Délai de traitement d'une page pas assez long
    Par Alexlesilex dans le forum Langage
    Réponses: 14
    Dernier message: 15/05/2006, 17h40
  2. [VBA-E]Msgbox pas assez grand
    Par Elstak dans le forum Macros et VBA Excel
    Réponses: 26
    Dernier message: 19/04/2006, 14h18

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