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 :

Pas de Wnd sur CTreeCtrl


Sujet :

Visual C++

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 22
    Points : 16
    Points
    16
    Par défaut Pas de Wnd sur CTreeCtrl
    Bonjour, j'ai créé un objet CTreeCtrl associé à une formview. Il est enregistré dans mon application avec l'identifiant IDC_MENUGAUCHE.

    Dans le message OnSize de ma FormView j'ai ceci :

    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
    CFormView::OnSize(nType, cx, cy);
     
    	// TODO: Add your message handler code here
     
    	CRect l_formRect;
     
        GetClientRect(&l_formRect);
     
        // get pointer to the control to be resized dynamically
        CTreeCtrl* pTreeCtrl=NULL;
            pTreeCtrl = (CTreeCtrl *)GetDlgItem(IDC_MENUGAUCHE);
     
        //Calculate the new width of the control to be resized
        long newWidthTree = l_formRect.Width()/3;
     
        if(newWidthTree > 250)
           newWidthTree = 250;
     
        long newWidthTab = l_formRect.Width() - newWidthTree ;
        long newHeightTree = l_formRect.Height();
     
        // Now resize the control dynamically by calling MoveWindow
        pTreeCtrl->MoveWindow(l_formRect.TopLeft().x+5, l_formRect.TopLeft().y+25, (long)newWidthTree,     (long)newHeightTree-25, TRUE);
     
     
        // repaint control
        pTreeCtrl->RedrawWindow();
    }
    Ceci est un code que j'ai récupéré sur le net où j'avais juste l'intention de revoir les tailles selon mes besoins, pourtant quand je test à la compilation cela ne marche pas. D'après le debuggeur je n'ai pas le handle sur le hWnd de mon arbre :

    0x00000000 {CTreeCtrl hWnd=???}


    Je ne comprends pas pourquoi, si quelqu'un pouvait m'éclairer je lui en serai très reconnaissant

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    la fenêtre reçoit un premier WM_SIZE à l'initialisation ,les contrôles ne sont pas encore initialisés graphiquement .
    dans ton cas je mettrais ce bout de code dans une méthode ,
    celui-ci sera exécuté que si le handle de fenêtre est valide.
    ensuite tu l'appel de OnSize et de OnInitialUpdate.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 22
    Points : 16
    Points
    16
    Par défaut
    J'ai résolu le problème avec un if :p

    Merci d'avoir répondu Farscape

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

Discussions similaires

  1. disque dur installé mais pas d'icône sur le bureau
    Par stephan1 dans le forum Composants
    Réponses: 2
    Dernier message: 14/12/2005, 10h17
  2. [Débat] Utiliser ou pas les frames sur un site ?
    Par nico_web dans le forum Webdesign & Ergonomie
    Réponses: 15
    Dernier message: 12/10/2005, 20h54
  3. Pas de corbeille sur le bureau
    Par daladim dans le forum Windows XP
    Réponses: 5
    Dernier message: 02/10/2005, 20h54
  4. [Access] Ne pas montrer #Error sur un rapport Access
    Par nico33307 dans le forum Access
    Réponses: 3
    Dernier message: 22/09/2005, 23h19
  5. [CSS][IE]background d'affiche pas dans div sur IE
    Par Thomzz dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 21/09/2005, 23h32

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