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 :

comment adapter la taille d'un Tree Control à la vue qui le contient?


Sujet :

MFC

  1. #1
    Membre régulier
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2009
    Messages : 164
    Points : 91
    Points
    91
    Par défaut comment adapter la taille d'un Tree Control à la vue qui le contient?
    Bonjour,

    je suis désolé si la questin a déjà été posée.

    je fais actuellement une application sur Visual Studio 2008 avec MFC. mon application est composée de 3 vue et chaque vue possède un Tree Control.
    est-ce que quelqu'un saurait comment on fait pour que le Tree Control prenne toute la vue s'il vous plait??( en gros que la taille du Tree Control soit egal a la taille de la vue... )

    Mercii

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 572
    Points
    41 572
    Par défaut
    Je dirais resizer le TreeControl dans le OnSize de la vue...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre émérite
    Avatar de TheGzD
    Homme Profil pro
    Ingénieur/ Docteur en Informatique
    Inscrit en
    Avril 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur/ Docteur en Informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 327
    Points : 2 677
    Points
    2 677
    Par défaut
    Définie un rectangle (CRect) qui est à la taille souhaitée, puis ton_arbre.MoveWindow(le_rectangle).
    Attention à ce que tes objets graphiques existent déjà quant tu feras ça.
    Vous postez du code ? Merci d'utiliser les balises
    Un message vous paraît pertinent ? Merci de le gratifier d'un vote positif
    Vous avez obtenu une réponse à votre question ? Merci d'utiliser le tag
    __________________
    Ingénieur R&D, diplômé en 2007 de l'ISIMA
    Docteur en informatique, diplômé en 2015 de l'EDSPI de Clermont-Ferrand

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Février 2005
    Messages : 5 139
    Points : 12 239
    Points
    12 239
    Par défaut
    Le plus simple, c'est par l'exemple.

    Quand tu génères un projet MFC qui utilise le layout à la "Visual Studio", le projet créé contient des Vues qui contiennent des TreeCtrls, donc fait comme eux. Définition du OnSize de la Vue et utilisation de SetWindowPos.

  5. #5
    Membre régulier
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2009
    Messages : 164
    Points : 91
    Points
    91
    Par défaut
    Citation Envoyé par bacelar Voir le message
    Le plus simple, c'est par l'exemple.

    Quand tu génères un projet MFC qui utilise le layout à la "Visual Studio", le projet créé contient des Vues qui contiennent des TreeCtrls, donc fait comme eux. Définition du OnSize de la Vue et utilisation de SetWindowPos.
    excuse moi,... j'ai commencé le MFC il y a une semaine et je découvre au fur et a mesure... j'avoue que j'ai absolument rien compris a ce que tu as marqué...

    pour préciser ma question.. mes vues sont dans des Splitter...la taille change donc en fonction de comment l'utilisateur les places... non?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    if (!m_wndSplitter.CreateView(0, 0,
    		RUNTIME_CLASS(CArchGeodeView), CSize(300, 0), pContext))
    	{
    		TRACE0("Failed to create first pane\n");
    		return FALSE;
    	}

  6. #6
    Membre régulier
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2009
    Messages : 164
    Points : 91
    Points
    91
    Par défaut
    Citation Envoyé par TheGzD Voir le message
    Définie un rectangle (CRect) qui est à la taille souhaitée, puis ton_arbre.MoveWindow(le_rectangle).
    Attention à ce que tes objets graphiques existent déjà quant tu feras ça.
    mais si je fais ca mon arbre aura une taille constante...
    Or mes vue son en fait contenu dans des splitterWnd..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    if (!m_wndSplitter.CreateView(0, 0,
    		RUNTIME_CLASS(CArchGeodeView), CSize(300, 0), pContext))
    	{
    		TRACE0("Failed to create first pane\n");
    		return FALSE;
    	}
    du coup la taille de la vue (et donc du Tree Control) change en fonction de comment l'utilisateur decide de placer les splitter.....

  7. #7
    Membre émérite
    Avatar de TheGzD
    Homme Profil pro
    Ingénieur/ Docteur en Informatique
    Inscrit en
    Avril 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur/ Docteur en Informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 327
    Points : 2 677
    Points
    2 677
    Par défaut
    mais si je fais ca mon arbre aura une taille constante...
    bien sûr que non si tu le fais à l'endroit approprié comme dans le OnSize par exemple. A faire, je te le redis, sous réserve de l'existence de l'objet graphique sous peine de plantage.
    Vous postez du code ? Merci d'utiliser les balises
    Un message vous paraît pertinent ? Merci de le gratifier d'un vote positif
    Vous avez obtenu une réponse à votre question ? Merci d'utiliser le tag
    __________________
    Ingénieur R&D, diplômé en 2007 de l'ISIMA
    Docteur en informatique, diplômé en 2015 de l'EDSPI de Clermont-Ferrand

  8. #8
    Membre régulier
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2009
    Messages : 164
    Points : 91
    Points
    91
    Par défaut
    Citation Envoyé par TheGzD Voir le message
    bien sûr que non si tu le fais à l'endroit approprié comme dans le OnSize par exemple. A faire, je te le redis, sous réserve de l'existence de l'objet graphique sous peine de plantage.
    oui j'ai réussi merci beaucoupp ^^ sauf que j'ai utiliser SetWindowPos()
    désolé je commence tout juste je connaissais pas les OnSize etc.. merci mercii

    Bonne journée!!!

  9. #9
    Membre éprouvé
    Avatar de Gabrielly
    Inscrit en
    Juin 2004
    Messages
    722
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 722
    Points : 1 128
    Points
    1 128
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    class CArchGeodeView: public CTreeView
    Tu dois utiliser une CTreeView qui embarque en son sein le CTreeCtrl

    CTreeCtrl& CTreeView::GetTreeCtrl();

  10. #10
    Membre régulier
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2009
    Messages : 164
    Points : 91
    Points
    91
    Par défaut
    Citation Envoyé par Gabrielly Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    class CArchGeodeView: public CTreeView
    Tu dois utiliser une CTreeView qui embarque en son sein le CTreeCtrl

    CTreeCtrl& CTreeView::GetTreeCtrl();
    merci, mais non je veux pouvoir mettre si besoin autre chose dans ma fenêtre.
    Mais merci

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 30/01/2009, 11h36
  2. Comment adapter la taille d'une liste déroulante
    Par sbelli dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 05/06/2008, 16h04
  3. Réponses: 5
    Dernier message: 24/04/2008, 09h53
  4. Réponses: 3
    Dernier message: 30/11/2007, 12h40
  5. [Débutant] Comment adapter la taille d'une image ?
    Par taupeniveau dans le forum Composants VCL
    Réponses: 3
    Dernier message: 14/02/2006, 18h00

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