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 :

cherche tuto sur les tab control


Sujet :

MFC

  1. #1
    Membre confirmé

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    650
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Points : 546
    Points
    546
    Par défaut cherche tuto sur les tab control
    Slt,

    Je cherche un tuto sur l'utilisation des tab control

    jtrouve pas !

    merci bien

  2. #2
    Membre régulier
    Inscrit en
    Février 2003
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 141
    Points : 95
    Points
    95
    Par défaut
    farscape a fait un projet se basant sur les CTabCtrl qui t'apprendra surement pas mal de choses
    http://farscape.developpez.com/Samples/CxTabCtrl.zip
    Qui dit buzz??!!!!

  3. #3
    Membre confirmé

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    650
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Points : 546
    Points
    546
    Par défaut
    il me l'a filé celui la deja, mais c'est en utilisant une classe speciale, non ?

    moi jvoudrai les utiliser simplement

  4. #4
    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
    Citation Envoyé par firejocker
    il me l'a filé celui la deja, mais c'est en utilisant une classe speciale, non ?

    moi jvoudrai les utiliser simplement
    c'est un paradoxe ....
    Justement le CTabCtrl est tout sauf simple à utiliser.
    Cette classe permet justement de faire les choses simplement....

  5. #5
    Membre confirmé

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    650
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Points : 546
    Points
    546
    Par défaut
    lol, donc si je piges bien....

    les tabctrl, c'est la misere à utiliser et ta classe le facilite

    elle est libre pour toute utilisation cte classe ?

    dans le code, je vois que pour creer les 2 onglets, tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    	m_pTabInformation = new CTabInformation;
    	m_pTabInformation->Create(CTabInformation::IDD, &m_tabctrl);
    	m_tabctrl.AddTab(m_pTabInformation, "Information", 0);
    	m_pTabInformation->m_pTab = &m_tabctrl;
     
     
    	m_pTabMoreInformation = new CTabMoreInformation;
    	m_pTabMoreInformation->Create(CTabMoreInformation::IDD, &m_tabctrl);
    	m_tabctrl.AddTab(m_pTabMoreInformation, "More Information", 1);
    que fais cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    m_pTabInformation->m_pTab = &m_tabctrl;
    qui n'apparait que dans l e premier bloc ?

  6. #6
    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
    oui ,et je viens de remettre a jour le projet.

  7. #7
    Membre confirmé

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    650
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Points : 546
    Points
    546
    Par défaut
    jpiges pas pourquoi le gris de la fiche inséré dans le tabctrl est différent du reste de l'appli ?

    j'ai tenté de faire ce que tu as fais avec les couleurs, ca donne rien

    mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    	DlValidationPage1* Page1 = new DlValidationPage1;
    	Page1->Create(DlValidationPage1::IDD, &TabCtrl);
    	TabCtrl.AddTab(Page1, "Information", 0);
     
    	TabCtrl.SetSelectedColor(RGB(0, 0, 255));
    	TabCtrl.SetMouseOverColor(RGB(255, 0, 0));
    DlValidationPage1 est la classe de la fiche que je veux inserer
    TabCtrl est la variable associé au tab control

    tu vois mon erreur la dedans ?

  8. #8
    Membre confirmé

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    650
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Points : 546
    Points
    546
    Par défaut
    je vois .... c'est le tab control qui n'a pas le même gris que la fiche

    comment puis je y remedier ?

  9. #9
    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
    Citation Envoyé par firejocker
    je vois .... c'est le tab control qui n'a pas le même gris que la fiche

    comment puis je y remedier ?
    je me suis planté dans la MAJ ,j'avais ecrasé mes modifications...
    maintenant c'est ok:
    Citation Envoyé par firejocker
    que fais cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
       m_pTabInformation->m_pTab = &m_tabctrl;
    ça permet d'avoir un pointeur directe sur le tabctrl dans la dialogue...
    voir la fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    void CTabInformation::OnUpdateId()
    pour la couleur ça ne passe pas inapercu lol;
    voir les modifications apportées a la dialogue :
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    void CTabInformation::SetDialogBkColor(COLORREF clrCtlBk /*= RGB(192, 192, 192)*/,
                                           COLORREF clrCtlText /*= RGB(0, 0, 0) */)
    { 
        //m_HbrClrCtlBk est à null dans le constructeur
        if(m_HbrClrCtlBk) ::DeleteObject(m_HbrClrCtlBk); 
        m_HbrClrCtlBk = ::CreateSolidBrush(clrCtlBk);  
        m_ClrCtlText    = clrCtlText;
        /* COLORREF */m_ClrCtlBk= clrCtlBk;
    }
    HBRUSH CTabInformation::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
    {
    	HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
     
    	// TODO: Change any attributes of the DC here
    	switch(nCtlColor)
        {
            // Intercepte le message pour la dialogue et les statics. 
            case CTLCOLOR_DLG:
            case CTLCOLOR_STATIC  :
                    //  Fixe la couleur d’ecriture du texte
                    pDC->SetTextColor(m_ClrCtlText);
                    // enventuellement suivant les cas
                    // pDC->pDC->SetBkColor(m_ClrCtlBk);
                    // Fixe le fond en transparent  pour le texte 
                    // à ne pas faire pour un edit.
                    pDC->SetBkMode(TRANSPARENT);
                    // retourne le handle de la brush pour le fond si il existe.
                    if(m_HbrClrCtlBk ) hbr = m_HbrClrCtlBk;
                    break;
         }
        // TODO: Return a different brush if the default is not desired
        return hbr;
    	// TODO: Return a different brush if the default is not desired
    	return hbr;
    }
     
    BOOL CTabInformation::OnInitDialog() 
    {
    	CDialog::OnInitDialog();
     
    	// TODO: Add extra initialization here
    	SetDialogBkColor(RGB(193, 193, 255));
    	return TRUE;  // return TRUE unless you set the focus to a control
    	              // EXCEPTION: OCX Property Pages should return FALSE
    }
    application direct de la faq....

  10. #10
    Membre confirmé

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    650
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Points : 546
    Points
    546
    Par défaut
    jvois pas comment l'appliquer pour que le CtrlTab est la même couleur que la ficher CDialog

  11. #11
    Membre régulier
    Inscrit en
    Février 2003
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 141
    Points : 95
    Points
    95
    Par défaut
    Citation Envoyé par firejocker
    jvois pas comment l'appliquer pour que le CtrlTab ait la même couleur que la ficher CDialog
    si tu ne toccupes pas de la couleur, ce sera la couleur par défaut partout, donc partout la meme
    Qui dit buzz??!!!!

  12. #12
    Membre confirmé

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    650
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Points : 546
    Points
    546
    Par défaut
    ben justement non....

    le gris par defaut du TabCtrl et celui par defaut de la fiche sont différents, celui du CDialog est plus clair

  13. #13
    Membre confirmé

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    650
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Points : 546
    Points
    546
    Par défaut
    je remonte cette question une fois car les différences de couleurs sont la,
    et qu'ils faut vraiment que j'uniformise ces gris


  14. #14
    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
    je viens de remettre a jour mon projet .
    j'ai rajouté une classe template de gestion des couleurs pour les dialogues:
    CTplDlgColor.
    j'ai fais l'impasse pour l'instant sur le style XP en cochant la propriete owner draw fixed sur le tabctrl pour eviter la bande grise restante sur le tabctrl.
    c'est une question de gout a toi de voir.
    note l'appel de la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    m_tabctrl.SetAutoSizePannel(); // retaille automatiquement les panneaux clients.
    permet d'ajuster le panneau client sur le tabctrl,evitant ainsi les differences de gris.


  15. #15
    Membre confirmé

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    650
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Points : 546
    Points
    546
    Par défaut
    cool ca !

    ca marche !!!

    merci bien !

  16. #16
    Membre confirmé

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    650
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Points : 546
    Points
    546
    Par défaut
    tu as vu qu'il reste un morceau de gris different

    sur le texte des onglets non sélectionnés

  17. #17
    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
    Citation Envoyé par firejocker
    tu as vu qu'il reste un morceau de gris different

    sur le texte des onglets non sélectionnés
    bon je ne sais pas ce qui se passe j'ai un pb de mise à jour FTP .. ,
    j'ai changé le nom :
    http://farscape.developpez.com/Samples/CxTabCtrl.zip

    cette fois ci c'est bon j'ai verifé et re verifié ...


  18. #18
    Membre confirmé

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    650
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Points : 546
    Points
    546
    Par défaut
    c:\Documents and Settings\jb\Mes documents\Visual Studio Projects\Douchette\XTabCtrl.h(87) : error C2039: '_GetBaseMessageMap' : is not a member of 'CTplDlgColor<GENERIC_DLGCOLOR>'
    Que faire ?

  19. #19
    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
    tu as recuperé tout le projet ?
    attention il y a un include en plus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    #include "TemplDef.h" // message map extensions for templates
    si c'est le projet lui même ,fait un clean et rebuild all.

  20. #20
    Membre confirmé

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    650
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Points : 546
    Points
    546
    Par défaut
    j'ai recuperé uniquement ces 3 fichiers :
    XTabCtrl.h
    XTabCtrl.cpp
    TemplDef.h

    que j'ai ajouté à ma solution (enfin que le 3 eme, les autres y etaient deja)

    clean puis rebuild et j'ai toujours l'erreur

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 4 1234 DernièreDernière

Discussions similaires

  1. cherche tuto sur les textes
    Par ml1234 dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 18/08/2009, 15h58
  2. Tuto sur les Hooks
    Par reptils dans le forum Windows
    Réponses: 2
    Dernier message: 13/07/2006, 20h49
  3. debutant cherche reponse sur les caracteres speciaux
    Par Alexlesilex dans le forum Débuter
    Réponses: 3
    Dernier message: 11/05/2006, 15h26
  4. questions sur les tabs a plusieurs dimensions
    Par rosviper45 dans le forum C
    Réponses: 16
    Dernier message: 27/11/2005, 14h20

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