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 :

Onglets personnalis�s avec TabControl


Sujet :

MFC

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    37
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 37
    Par d�faut Onglets personnalis�s avec TabControl
    Bonjour,
    Je suis d�butant, et j'ai un peu de mal avec les onglets :
    j'ai r�cup�r� le projet de farscape sur les TabControl, qui est tr�s pratique, mais je voulais savoir s'il �tait possible de personnaliser chaque onglet s�par�ment (couleur personalis�e du texte, et couleur du fond (uniquement l'onglet qui d�passe)).
    Car a ce que j'ai compris, on ne peux modifier que la couleur du texte selon que l'onglet soit s�lectionn�, rel�gu� au second plan ou d�sactiv�.

    Si vous avez une id�e, elle est la bienvenue

    Merci d'avance

  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,
    si tu veux changer le syst�me de couleur pour le texte de l'onglet tout ce passe dans la fonction:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    CXTabCtrl::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)
    tu peux tr�s bien rajouter un m�thode pour sp�cifier la couleur du texte par onglet.
    pour le fond c'est un plus d�licat:
    j'ai fait rapidement ce petit essai qui ne r�gle pas tous les cas :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    void CTabMoreInformation::OnShowWindow(BOOL bShow, UINT nStatus) 
    {
        CTplDlgColor<CDialog>::OnShowWindow(bShow, nStatus);    
        // TODO: Add your message handler code here
        CXTabCtrl *ptab=static_cast<CXTabCtrl*>(GetParent());
        if(bShow)    ptab->m_crBackColor    =RGB(163, 209, 209);
        else        ptab->m_crBackColor    =RGB(193, 193, 255);
    }
    sur un onglet sur l'activation et d�sactivation ,je change la couleur de fond du ctabctrl (c'est un essai brut pour montrer le principe).

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    37
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 37
    Par d�faut
    Salut,
    merci pour la r�ponse.
    Mais �tant d�butant, je vais poser une question bete : La fonction DrawItem est celle de CXTabControl. Comment peut-on acceder aux propri�t�s d'un onglet en particulier ?
    Je n'y arrive pas

    Merci beaucoup

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    37
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 37
    Par d�faut
    J'ai reussi a modifier la couleur d'un onglet en particulier.

    J'aurais une autre question fascape, avec un CXTabCtrl, peut-on mettre les onglets de mani�re vertical ?
    J'ai �t� modifier dans les propri�t�s de mon TabCtrl (grace � l'�diteur graphique) la disposition des onglets, puis j'ai modifi� �galement m_ptTabs.x et .y .Mes onglets sont bien verticaux, mais je n'ai plus de texte.

    Ai-je oubli� quelque chose ?

    Merci beaucoup

  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
    tu n'as rien oubli� je n'ai pas g�r� ce cas ...
    il faudrait que je modifie la gestion du dessin ,l'ecriture en vertical
    le calcul de l'emplacement de l'onglet .

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    37
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 37
    Par d�faut
    ok
    pas de probleme, je vais essayer de voir si j'arrive � faire quelque chose

    Merci beaucoup

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    37
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 37
    Par d�faut
    Juste pour information, j'ai modifi� l'option de DrawText en ajoutant DT_EXPANDTABS et DT_BOTTOM, et j'ai reussi (� peu pr�s) � avoir le texte en vertical.
    Le seul probleme que j'ai, c'est que le dernier caract�re est tr�s proche du bord haut de l'onglet.
    Pour l'instant, je m'en contente en ajoutant quelques espaces

    Encore merci pour cette classe qui m'aide beaucoup
    Salut

Discussions similaires

  1. Exemple d'utilisation d'onglets avec TabControl
    Par Vilukariok dans le forum D�buter
    R�ponses: 5
    Dernier message: 18/09/2010, 22h25
  2. Comment cr�er des onglets comme avec Excel (sheet1/sheet2)
    Par pierrot10 dans le forum G�n�ral JavaScript
    R�ponses: 1
    Dernier message: 20/09/2005, 16h36
  3. [delphi6][interbase]probleme avec tabcontrol et un dbgrid
    Par macadam314 dans le forum Bases de donn�es
    R�ponses: 4
    Dernier message: 11/04/2005, 01h05
  4. [VB.NET] Cache l'onglet d'un TabControl
    Par Lois dans le forum Windows Forms
    R�ponses: 14
    Dernier message: 27/10/2004, 09h55
  5. [VB.NET] Couleurs des onglets d'un TabControl
    Par ineznia dans le forum Windows Forms
    R�ponses: 6
    Dernier message: 09/04/2004, 13h18

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