Slt,
Je cherche un tuto sur l'utilisation des tab control
jtrouve pas !
merci bien
Slt,
Je cherche un tuto sur l'utilisation des tab control
jtrouve pas !
merci bien
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
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 ....Envoyé par firejocker
Justement le CTabCtrl est tout sauf simple à utiliser.
Cette classe permet justement de faire les choses simplement....
![]()
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++.
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 :
que fais cette ligne :
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);qui n'apparait que dans l e premier bloc ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part m_pTabInformation->m_pTab = &m_tabctrl;
oui ,et je viens de remettre a jour le projet.
![]()
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++.
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 :
DlValidationPage1 est la classe de la fiche que je veux inserer
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));
TabCtrl est la variable associé au tab control
tu vois mon erreur la dedans ?
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...Envoyé par firejocker
![]()
maintenant c'est ok:
ça permet d'avoir un pointeur directe sur le tabctrl dans la dialogue...Envoyé par firejocker
voir la fonction:
pour la couleur ça ne passe pas inapercu lol;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 void CTabInformation::OnUpdateId()
voir les modifications apportées a la dialogue :
application direct de la faq....
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 decriture 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 }
![]()
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++.
jvois pas comment l'appliquer pour que le CtrlTab est 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 memeEnvoyé par firejocker
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
je remonte cette question une fois car les différences de couleurs sont la,
et qu'ils faut vraiment que j'uniformise ces gris
![]()
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
permet d'ajuster le panneau client sur le tabctrl,evitant ainsi les differences de gris.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 m_tabctrl.SetAutoSizePannel(); // retaille automatiquement les panneaux clients.
![]()
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++.
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 ..Envoyé par firejocker
,
j'ai changé le nom :
http://farscape.developpez.com/Samples/CxTabCtrl.zip
cette fois ci c'est bon j'ai verifé et re verifié ...
![]()
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++.
Que faire ?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>'
tu as recuperé tout le projet ?
attention il y a un include en plus :
si c'est le projet lui même ,fait un clean et rebuild all.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 #include "TemplDef.h" // message map extensions for templates
![]()
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++.
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
Partager