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 :

Probleme avec les tabcontrol


Sujet :

MFC

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 51
    Par défaut Probleme avec les tabcontrol
    Salut tout le monde
    je voulais savoir comment faire pour dessiner un controle avec des onglets (comme CTabCtrl) dynamiquement
    Aprés la lecture d un fichier XML si je trouve un TAG <LEG> je dessine un TabControl et les fils de ce TAG seront les onglets que je doit ajouté avec des controles appropriés (bouttons edit pour chaque onglet) que je dessine dynamiquement.
    j arrive a dessiner un tab control avec des onglets mes mon probleme est de remplir les onglets avec leur controles (bouttons,...)
    les onglets qe je dessine sont vides je veux une méthodes pour dessiner sur chaque onglet les controles appropriés.
    j espere qe j été clair et merci

  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
    Par défaut
    salut,
    pourquoi ne pas utiliser le tabcontrol directement generer les dynamiquements les pages et les controles dedans ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 51
    Par défaut
    mon probleme réside dans les onglets je ne sait pa comment dessiner des controles dedans
    ce que je fais mnt c
    tie.pszText= const_cast<char *> (item.c_str());

    TabCtrl_InsertItem(hwndTab, i, &tie);
    mais ça m ajoute des onglets vides comment acceder a chaque onglet et y dessiner des controles

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 393
    Par défaut
    Il me semble que ça n'est pas géré tout seul.
    Ça l'est pour les Property Sheets dont les Property Pages sont des boîtes de dialogue filles, mais pour un Tab Control ordinaire, il me semble que tu dois dire toi-même ce qui doit être visible ou non selon le message WM_NOTIFY envoyé par le tab control à sa fenêtre mère...
    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.

  5. #5
    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
    Par défaut
    Citation Envoyé par capello123
    mon probleme réside dans les onglets je ne sait pa comment dessiner des controles dedans
    ce que je fais mnt c
    tie.pszText= const_cast<char *> (item.c_str());

    TabCtrl_InsertItem(hwndTab, i, &tie);
    mais ça m ajoute des onglets vides comment acceder a chaque onglet et y dessiner des controles
    bon, le tabcontrol d'origine n'est pas très facile a utiliser .
    voir ce lien avec une classe qui simplifie l'écriture.
    http://farscape.developpez.com/Samples/CxTabCtrl.zip
    pour récupérer un pointeur sur une dialogue du tabctrl j'avais proposé ça :
    http://www.developpez.net/forums/sho...46#post1628246
    je n'ai pas eu le temps de l'intégrer dans le source initial...
    pour les dialogues tu peux utiliser une dialogue vierge dans les ressources que tu insèreras pour tous les onglets.
    il faudra après créer dynamiquement les contrôles dessus.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 124
    Par défaut
    tie.pszText= const_cast<char *> (item.c_str());
    j'aurais plutot utilisé un cast dynamique non?

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 51
    Par défaut
    merci pour les réponses
    wi farscape je pense aussi à ta solution mais j ai une petite question
    dans mon code j ai fait
    CDialog * dlg=new CDialog(IDD_DIALOG1);//IDD_DIALOG1 vierge
    dlg->ShowWindow(SW_SHOW);//erreur car ce dialog na pas de handle(son hwnd est NULL)
    je ne sais pa pourqoi son HWND est NULL et c pareil pour tout autre control que j essaye de créer comme:
    CPropertySheet *sp;
    sp=new CPropertySheet(1,(CWnd*)CWnd::FromHandle(m_hWnd),0) ;//de meme HWND == NULL

  8. #8
    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
    Par défaut
    si tu regardes mieux mon exemple tu verrais que l'on fait Create sur la Dialogue...
    ShowWindow considere que la fenetre est créée d'ou ton erreur .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    m_pTabInformation = new CTabInformation;
        m_pTabInformation->Create(CTabInformation::IDD, &m_tabctrl);
        m_tabctrl.AddTab(m_pTabInformation, "Information", 0);

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 51
    Par défaut
    excuse mon ignorance farscape
    je débute les MFC
    je viens de faire
    CDialog * dlg=new CDialog(IDD_DIALOG1);
    dlg->Create(IDD_DIALOG1);//erreur HWND==NULL
    dlg->ShowWindow(SW_SHOW);
    ca plante encore???

Discussions similaires

  1. probleme avec les tabControl
    Par furax51 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 05/03/2008, 20h05
  2. Help!! Probleme avec les dates sur SQL SERVER
    Par Nadaa dans le forum MS SQL Server
    Réponses: 16
    Dernier message: 03/08/2006, 16h55
  3. PROBLEME AVEC LES REQUETES IS NULL / NOT EXISTS
    Par sylvaine dans le forum Langage SQL
    Réponses: 5
    Dernier message: 04/06/2004, 13h26
  4. Problem avec les *.AVI sur les panels
    Par NaDiA_SoFt dans le forum C++Builder
    Réponses: 3
    Dernier message: 31/08/2003, 22h50
  5. probleme avec les processus
    Par saidi dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 05/02/2003, 00h18

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