Bonjour !
Décidément, c'est vraiment pas joli les couleurs Windows !!
Bon alors après un Progress bar, comment peut-on changer la couleur d'un TabCtrl, (plus précisement un XTabCtrl) sans changer les couleurs de Windows ????
Bonjour !
Décidément, c'est vraiment pas joli les couleurs Windows !!
Bon alors après un Progress bar, comment peut-on changer la couleur d'un TabCtrl, (plus précisement un XTabCtrl) sans changer les couleurs de Windows ????
salut,
oui intercepte le message WM_ERASEBKGND
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 BOOL XTabCtrl::OnEraseBkgnd(CDC* pDC) { // TODO: Add your message handler code here and/or call default CBrush backBrush(m_crBackColor);//COLORREF CBrush *pOldBrush=pDC->SelectObject(&backBrush); CRect rect; pDC->GetClipBox(&rect); pDC->PatBlt(rect.left,rect.top,rect.Width(),rect.Height(),PATCOPY); pDC->SelectObject(pOldBrush); return TRUE; }
Ce qui est affirmé sans preuve peut être nié sans preuve Euclide.
Les conversions numériques en C,C++,C++/CLI
DLL d'extensions : écriture d'un plug-in de classe
Démarrer avec les MFC 2/2
Création d'un ActiveX MFC
Intégration d'une imprimante PDF pour éditions automatisées
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
Démarrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
Et comment j'accède à ce Message ?? Pke ClassWizard ne me le propose pas...
Je fais certainement pas comme il faut... Alors comment dois-je faire ?
voir faq:
http://c.developpez.com/faq/vc/?page...dMessageFilter
dans ton cas mets windows
Ce qui est affirmé sans preuve peut être nié sans preuve Euclide.
Les conversions numériques en C,C++,C++/CLI
DLL d'extensions : écriture d'un plug-in de classe
Démarrer avec les MFC 2/2
Création d'un ActiveX MFC
Intégration d'une imprimante PDF pour éditions automatisées
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
Démarrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
ça ne marche pas...
Alors j'ai bien ajouté le message WM_ERASEBKGND, mais ça fait rien...
Je détaille un peu...
J'ai une classe CXTabCtrl qui dérive d'une classe tabctrl, elle même derive de CTabCtrl. J'ai intercepté le message WM_ERASEBKGND de la classe tabctrl et collé le code plus haut...
Et résultat, ça change pas de couleur...
tu as declaré une variable m_crBackColor de type COLORREF ?
et quelle valeur tu lui as mis ?
tu passes en debug dans la fonction?
Ce qui est affirmé sans preuve peut être nié sans preuve Euclide.
Les conversions numériques en C,C++,C++/CLI
DLL d'extensions : écriture d'un plug-in de classe
Démarrer avec les MFC 2/2
Création d'un ActiveX MFC
Intégration d'une imprimante PDF pour éditions automatisées
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
Démarrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
En fait, à la place de m_crBackColor, j'utilise la fonction RGB, avec 243,244,247 comme attributs.
ok
et tu passes en debug dans la fonction ?
Ce qui est affirmé sans preuve peut être nié sans preuve Euclide.
Les conversions numériques en C,C++,C++/CLI
DLL d'extensions : écriture d'un plug-in de classe
Démarrer avec les MFC 2/2
Création d'un ActiveX MFC
Intégration d'une imprimante PDF pour éditions automatisées
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
Démarrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
un petit oubli de ma part ,il faudra faire de meme pour les differentes dialogues composant tes onglets.
Ce qui est affirmé sans preuve peut être nié sans preuve Euclide.
Les conversions numériques en C,C++,C++/CLI
DLL d'extensions : écriture d'un plug-in de classe
Démarrer avec les MFC 2/2
Création d'un ActiveX MFC
Intégration d'une imprimante PDF pour éditions automatisées
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
Démarrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
Ok alors pour le Débug, je ne passe pas dans la fonction...
Par contre, pour les dialogue qui composent mes onglets, c'est réglé, j'ai la fonction OnCtlColor qui est lancée pour chaque dialogue de l'onglet. Donc le résultat que j'ai, c'est des onglets gris, le contenu blanc(243,244,247) et le contour de l'onglet en gris... Tu vois ce que je veux dire ??
C’est pas normal .
Tu dois avoir dans ton BEGIN_MESSAGE_MAP de cette classe
La ligne ON_WM_ERASEBKGND() c’est le cas ?
Ce qui est affirmé sans preuve peut être nié sans preuve Euclide.
Les conversions numériques en C,C++,C++/CLI
DLL d'extensions : écriture d'un plug-in de classe
Démarrer avec les MFC 2/2
Création d'un ActiveX MFC
Intégration d'une imprimante PDF pour éditions automatisées
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
Démarrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
Alors j'ai bien la ligne On_WM_ERASEBKGND(), par contre, je ne l'ai peut etre pas pour la bonne classe.
J'utilise un CXtabCtrl qui est dérivé de tabctrl, et c'est dans ce tabctrl que j'ai le message WM_ERASEBKGND.
Voila le résultat que j'ai :
Le blanc que j'ai dans l'onglet, je l'obtient grace à la fonction, OnCtlColor du Dialog client, mais j'ai toujours le tour du dialog en gris...
ça y est, ça marche...Le boulet dasn l'histoire CT moi...
Bon alors le code cité plus haut fonctionne, il faut intercepter le message de la classe CXTabCtrl, et non les classes mère, ça marche pas ...
Merci farscape !! Et désolé, ta réponse était la bonne dès le début...
bien ,alors pense a mettre résolu sur ton post (avec le bouton )
Ce qui est affirmé sans preuve peut être nié sans preuve Euclide.
Les conversions numériques en C,C++,C++/CLI
DLL d'extensions : écriture d'un plug-in de classe
Démarrer avec les MFC 2/2
Création d'un ActiveX MFC
Intégration d'une imprimante PDF pour éditions automatisées
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
Démarrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager