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. #41
    Membre éclairé

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

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Par défaut
    c'est quoi un manifest ?

    Ctabctrl owner draw dans les ressources ?

    jcommence sous VC++ .Net ! jamais touché avant y a 2 semaines !

    j'ai posé mon TabCtrl sur un CDialog, et dans l'init de cette CDialog, j'ai mis :
    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
    BOOL DlValidation::OnInitDialog()
    {
    	CDialog::OnInitDialog();
     
    	SetSameWindowPosition(GetParent(), this);
     
    	// Onglet : Douchette
    	Page1 = new DlValidationPage1;
    	Page1->Create(DlValidationPage1::IDD, &TabCtrl);
    	TabCtrl.AddTab(Page1, "Douchette", 0);
     
    	// Onglet : Saisie manuelle
    	Page2 = new DlValidationPage2;
     
    		// Chargement du fichier
    		p_cslFile.LoadFromFile(p_sPath);
    		Page2->SetModel(p_cslFile.GetItem(2));
    		for(int i = 3; i < p_cslFile.Count(); i++)  Page2->AddString(p_cslFile.GetItem(i));
     
    	Page2->Create(DlValidationPage2::IDD, &TabCtrl);
    	TabCtrl.AddTab(Page2, "Saisie manuelle", 0);
     
    	TabCtrl.SetAutoSizePannel();
     
    	return TRUE;
    }

  2. #42
    Membre éclairé

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

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Par défaut
    j'arrive pas à me sortir de cette erreur :
    DlValidationPage2.obj : error LNK2001: unresolved external symbol "public: virtual struct CRuntimeClass * __thiscall DlValidationPage2::GetRuntimeClass(void)const " (?GetRuntimeClass@DlValidationPage2@@UBEPAUCRuntimeClass@@XZ)
    pourtant, j'ai remplacé tout les CDialog par des CTplDlgColor<CDialog>

    tu vois d'ou ca pourrait venir ? (jdechiffre pas !)

  3. #43
    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 dois avoir un erreur sur ton message map ,verifie tes macros ..
    le projet posté compile et link sans problemes sur VC6.0 et VS2005 .
    et on obtient bien le resultat escompté: la colorisation complete d'un CTabCtrl de ses fenetres et de la fenêtre principal.


  4. #44
    Membre éclairé

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

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Par défaut
    quand je clic la 1ere erreur , il m'envoit sur ce code (en 1ere ligne)

    XTabCtrl.h(87) : error C2039: '_GetBaseMessageMap' : is not a member of 'CTplDlgColor<GENERIC_DLGCOLOR>'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    BEGIN_TPL_MESSAGE_MAP(class GENERIC_DLGCOLOR, CTplDlgColor<GENERIC_DLGCOLOR>, GENERIC_DLGCOLOR)
    	//{{AFX_MSG_MAP(CTplDlgColor)	
    	ON_WM_CTLCOLOR()
    	//}}AFX_MSG_MAP
    END_TPL_MESSAGE_MAP()
    la seconde :
    XTabCtrl.cpp(53) : error C2440: 'static_cast' : cannot convert from 'void (__thiscall CXTabCtrl::* )(NMHDR *,LRESULT *)' to 'BOOL (__thiscall CCmdTarget::* )(NMHDR *,LRESULT *)'
    m'envoi sur la 4eme ligne de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    BEGIN_MESSAGE_MAP(CXTabCtrl, CTabCtrl)
    	//{{AFX_MSG_MAP(CXTabCtrl)
    	ON_NOTIFY_REFLECT_EX(TCN_SELCHANGE, OnSelchange)
    	ON_NOTIFY_REFLECT_EX(TCN_SELCHANGING, OnSelchanging)
    	ON_WM_MOUSEMOVE()
    	ON_WM_TIMER()
    	ON_WM_SIZE()	
    	ON_WM_ERASEBKGND()
    	ON_WM_CTLCOLOR_REFLECT()
    	//}}AFX_MSG_MAP
    END_MESSAGE_MAP()

    quand tu dis :
    verifie tes macros
    ca veut dire quoi

    nb : merci de ton aide

  5. #45
    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 relis les posts precedents:
    j'ai dis que vu les probleme de template d'un compilateur a l'autre j'ai abandonné cette solution .
    donc tu ne dois plus avoir de BEGIN_TPL_MESSAGE_MAP
    etc ..
    regarde mon projet de tests ,mets a jour tes sources et .h en consequences.

  6. #46
    Membre éclairé

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

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Par défaut
    lol, oups, desole,erreur de fichier (je switch entre 2 jeux de fichiers pour ton compo)

    je retest...

  7. #47
    Membre éclairé

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

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Par défaut
    Ok, donc j'ai refais toutes les modifs que tu as décrites le long de ce post,

    et j'obtiens toujours un gris différents alors que j'applique la fonction SetAutoSizePannel

    mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    	// Onglet : Saisie manuelle
    	Page2 = new DlValidationPage2;
    	Page2->Create(DlValidationPage2::IDD, &TabCtrl);
    	TabCtrl.AddTab(Page2, "Saisie manuelle", 0);
     
    	Page3 = new DlValidationPage3;
    	Page3->Create(DlValidationPage3::IDD, &TabCtrl);
    	TabCtrl.AddTab(Page3, "Terminer la saisir", 0);
     
    	TabCtrl.SetAutoSizePannel();

  8. #48
    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
    prend mon projet ouvre le .net il va le convertir .
    resultat ?

  9. #49
    Membre éclairé

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

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Par défaut
    ben ce projet marche, tout est bleu,

    le truc c'est que moi, je veux pas le coloriser mais laisser la couleur de base de windows (qui peut varier selon le theme sur le pc utilisateur)

    suis je obligé de déclarer mes CDialog qui sont inclues dans le CtrlTab comme des CTplDlgColor<CDialog>, quand je le fais, j'ai l'erreur :
    DlValidationPage2.obj : error LNK2001: unresolved external symbol "public: virtual struct CRuntimeClass * __thiscall DlValidationPage2::GetRuntimeClass(void)const " (?GetRuntimeClass@DlValidationPage2@@UBEPAUCRuntimeClass@@XZ)
    et pourtant, j'ai bien remplacé tous les CDialog par CTplDlgColor<CDialog>

  10. #50
    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
    Compare les deux projets ta classe template ne doit pas être a jour…

  11. #51
    Membre éclairé

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

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Par défaut
    Au passage, a quoi serve ces bloc que tu met dans les .h des fiches filles
    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
    	//{{AFX_DATA(CTabMoreInformation)
    	enum { IDD = IDD_MORE_INFORMATION };
    		// NOTE: the ClassWizard will add data members here
    	//}}AFX_DATA
     
     
    	//{{AFX_VIRTUAL(CTabMoreInformation)
    	protected:
    	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
    	//}}AFX_VIRTUAL
     
     
     
    	//{{AFX_MSG(CTabMoreInformation)
    	afx_msg void OnOk();
    	virtual void OnCancel();	
    	virtual BOOL OnInitDialog();
    	//}}AFX_MSG
    ca change quelques choses les commentaires : //{{AFX_.... ?

    nb : la classe template, je l'ai récupéré du projet que j'ai dl tt a l'heure et jy ai appliqué tes modifs

  12. #52
    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
    ces blocs sont generes/utilises par VC6.0

  13. #53
    Membre éclairé

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

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Par défaut
    moi, j'ai :
    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
    #pragma once
    #include "CustomStringList.h"
    #include "afxwin.h"
    #include "Billet.h"
    #include "XTabCtrl.h"
    #include "afxcmn.h"
    #include "coloredit.h"
     
     
    // DlValidationPage2 dialog
    class DlValidationPage2 : public CTplDlgColor<CDialog>
    {
    	DECLARE_DYNAMIC(DlValidationPage2)
    	CCustomStringList *p_pcslList;
    	CBillet p_bBillet;
     
    	void RefreshButtonAffich(BOOL bValid);
     
     
    protected:
    	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
    	virtual BOOL OnInitDialog();
    	virtual void OnOK();
    	virtual void OnCancel();
     
    	DECLARE_MESSAGE_MAP()
     
     
    public:
    	DlValidationPage2(CWnd* pParent = NULL);   // standard constructor
    	//virtual ~DlValidationPage2();
     
    // Dialog Data
    	enum { IDD = IDD_DlValidationPage2 };
    	CListBox m_lbListbox;
    	CString m_eSaisie;
    	void SetPtrOnMainList(CCustomStringList *pcslList);
    	afx_msg void OnEnChangeEditCodeBarre();
    	afx_msg void OnChangeListSel();
    	CRichEditCtrl m_rRecapitulatif;
    	afx_msg void OnBnClickedButton1();
    	CColorEdit MyColorEdit;
    };
    le probleme viens d'ici ?

  14. #54
    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
    non ,mais la presence de #include "afxwin.h" dans ton .h n'est pas trop normal.
    il devrait etre dans stdafx.h.
    compare plutot ton header XTabCtrl.h avec celui de mon dernier projet.
    essaye aussi de faire un clean et rebuild all.

  15. #55
    Membre éclairé

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

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Par défaut
    Citation Envoyé par farscape
    non ,mais la presence de #include "afxwin.h" dans ton .h n'est pas trop normal.
    il devrait etre dans stdafx.h.
    copier-coller abusif .... supprimé !

    compare plutot ton header XTabCtrl.h avec celui de mon dernier projet.
    essaye aussi de faire un clean et rebuild all.
    j'ai utilisé les fichiers de ton dernier projet (en corrigeant _TEMPLATE_ par _TPL_)

    ca donne :
    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    #if !defined(AFX_CXTabCtrl_H__A11951B3_2F95_11D3_A896_00A0C9B6FB28__INCLUDED_)
    #define AFX_CXTabCtrl_H__A11951B3_2F95_11D3_A896_00A0C9B6FB28__INCLUDED_
     
    #if _MSC_VER > 1000
    #pragma once
    #endif // _MSC_VER > 1000
    // CXTabCtrl.h : header file
    //
     
    template <class GENERIC_DLGCOLOR = CWnd>
    class CTplDlgColor : public GENERIC_DLGCOLOR
    {
    public:
     
    	CTplDlgColor(UINT nID=0,CWnd* pParent=NULL) :GENERIC_DLGCOLOR(nID,pParent)
    	{
    	/* HBRUSH   */  m_HbrClrCtlBk=NULL ;
    	/* COLORREF */  m_ClrCtlText= RGB(0, 0, 0) ;
    	}
    	//---------------------------------------------------------------------------------
    	~CTplDlgColor()
    	{
    		if(m_HbrClrCtlBk) ::DeleteObject(m_HbrClrCtlBk);
    	}
     
    	//---------------------------------------------------------------------------------
    	void 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 OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
    	{
    		HBRUSH hbr;
     
    		if(pWnd->m_hWnd == m_hWnd)
    			hbr= GENERIC_DLGCOLOR::OnCtlColor(pDC, pWnd, nCtlColor);	// for dialogs
    		else hbr= GENERIC_DLGCOLOR::OnCtlColor(pDC, this, nCtlColor);		// send reflect message
     
    	/* CTLCOLOR_BTN         button control
    	   CTLCOLOR_DLG         dialog box
    	   CTLCOLOR_EDIT        edit control
    	   CTLCOLOR_LISTBOX     list box
    	   CTLCOLOR_MSGBOX      message box
    	   CTLCOLOR_SCROLLBAR   scroll bar
    	   CTLCOLOR_STATIC      static text, frame, or rectangle 
    	*/
     
    	// TODO: Change any attributes of the DC here
     
    	// par exemple en fonction de nCtlColor voir doc.
    		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;
    	}
    	//---------------------------------------------------------------------------------
    	virtual BOOL OnWndMsg(UINT message, WPARAM wParam, LPARAM lParam, LRESULT* pResult)
    	{
    		if(message==WM_CTLCOLOR)
    		{		
    			_AFX_CTLCOLOR* pCtl = (_AFX_CTLCOLOR*)lParam;
    			CDC dcTemp; dcTemp.m_hDC = pCtl->hDC;
    			CWnd wndTemp; wndTemp.m_hWnd = pCtl->hWnd;
    			UINT nCtlType = pCtl->nCtlType;
     
    			HBRUSH hbr = OnCtlColor(&dcTemp, &wndTemp, nCtlType);
    			// fast detach of temporary objects
    			dcTemp.m_hDC = NULL;
    			wndTemp.m_hWnd = NULL;
    			*pResult = (LRESULT)hbr;
    			return TRUE;		
    		}
    		return GENERIC_DLGCOLOR::OnWndMsg(message, wParam, lParam, pResult);
    	 }
    	//---------------------------------------------------------------------------------
     
    	private:
    	struct _AFX_CTLCOLOR
    	{
    		HWND hWnd;
    		HDC hDC;
    		UINT nCtlType;
    	};
     
    	HBRUSH     m_HbrClrCtlBk;
    	COLORREF   m_ClrCtlText;
    	COLORREF   m_ClrCtlBk;
     
    };
     
    /////////////////////////////////////////////////////////////////////////////
    // CXTabCtrl window
    #include <afxtempl.h>
    class CXTabCtrl : public CTabCtrl
    {
    // Construction
    public:
    	DECLARE_DYNAMIC(CXTabCtrl)
     
    	CXTabCtrl();
     
     
     
    // Attributes
    public:
    	BOOL m_bAutoPannelSize;
    	COLORREF m_crBackColor;
    	BOOL	 m_bFirstBackColor;	
    // Operations
    public:
    	void AddTab(CWnd* pWnd, LPTSTR lpszCaption, int iImage =0);
    	void EnableTab(int iIndex, BOOL bEnable = TRUE);
    	BOOL SelectTab(int iIndex);
    	void DeleteAllTabs();
    	void DeleteTab(int iIndex);
    	void SetTopLeftCorner(CPoint pt);
    	BOOL IsTabEnabled(int iIndex);
     
    	void SetDisabledColor(COLORREF cr);
    	void SetSelectedColor(COLORREF cr);
    	void SetNormalColor(COLORREF cr);
    	void SetMouseOverColor(COLORREF cr);
    	void SetAutoSizePannel(BOOL bEnable=TRUE){m_bAutoPannelSize=bEnable;}
    	// fixe la couleur de fond de la fenêtre
    	void SetBackGroundColor(COLORREF cBackColor);
    	// fixe la couleur du bouton d'onglet non selectionné
    	void SetNoSelBackGroundColor(COLORREF cBackColor);
     
    	void ReSizeCurPannel();
     
     
    // Overrides
    	// ClassWizard generated virtual function overrides
    	//{{AFX_VIRTUAL(CXTabCtrl)
    	protected:
    	virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
    	virtual void PreSubclassWindow();
    	//}}AFX_VIRTUAL
     
    // Implementation
    public:
    	virtual ~CXTabCtrl();
     
    	// Generated message map functions
    protected:
    	CArray<BOOL, BOOL> m_arrayStatusTab; //** enabled Y\N
    	int m_iSelectedTab;
    	POINT m_ptTabs;
    	COLORREF m_crSelected;
    	COLORREF m_crDisabled;
    	COLORREF m_crNormal;
    	COLORREF m_crMouseOver;
    	COLORREF m_crNoBackColor;
     
    	int m_iIndexMouseOver;
     
    	bool m_bMouseOver;
    	bool m_bColorMouseOver;
    	bool m_bColorNormal;
    	bool m_bColorDisabled;
    	bool m_bColorSelected;
    	bool m_bInit;
    	//{{AFX_MSG(CXTabCtrl)
    	afx_msg BOOL OnSelchange(NMHDR* pNMHDR, LRESULT* pResult);
    	afx_msg BOOL OnSelchanging(NMHDR* pNMHDR, LRESULT* pResult);
    	afx_msg void OnMouseMove(UINT nFlags, CPoint point);
    	afx_msg void OnTimer(UINT nIDEvent);
    	afx_msg void OnSize(UINT nType, int cx, int cy);	
    	afx_msg BOOL OnEraseBkgnd(CDC* pDC);
    	afx_msg HBRUSH CtlColor(CDC* pDC, UINT nCtlColor);
    	//}}AFX_MSG
     
    	DECLARE_MESSAGE_MAP()
    };
     
    /////////////////////////////////////////////////////////////////////////////
     
    //{{AFX_INSERT_LOCATION}}
    // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
     
    #endif // !defined(AFX_CXTabCtrl_H__A11951B3_2F95_11D3_A896_00A0C9B6FB28__INCLUDED_)

  16. #56
    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
    a premiere cela me semble correct.
    et le clean et rebuild all ?

  17. #57
    Membre éclairé

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

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Par défaut
    ben ca donne la meme erreur

  18. #58
    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
    montre la classe DlValidationPage2 (c'est celle la qui provoque l'erreur ?)

  19. #59
    Membre éclairé

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

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Par défaut
    je pense que c'est elle effectivement, avant que je ne la modifie, c'etait une CDialog, j'y ai remplacé tout les CDialog par des CTplDlgColor<CDialog>

    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
    #pragma once
    #include "CustomStringList.h"
    #include "Billet.h"
    #include "XTabCtrl.h"
    #include "afxcmn.h"
    #include "coloredit.h"
     
     
    // DlValidationPage2 dialog
    class DlValidationPage2 : public CTplDlgColor<CDialog>
    {
    	DECLARE_DYNAMIC(DlValidationPage2)
    	CCustomStringList *p_pcslList;
    	CBillet p_bBillet;
     
    	void RefreshButtonAffich(BOOL bValid);
     
     
    protected:
    	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
    	virtual BOOL OnInitDialog();
    	virtual void OnOK();
    	virtual void OnCancel();
     
    	DECLARE_MESSAGE_MAP()
     
     
    public:
    	DlValidationPage2(CWnd* pParent = NULL);   // standard constructor
    	//virtual ~DlValidationPage2();
     
    // Dialog Data
    	enum { IDD = IDD_DlValidationPage2 };
    	CListBox m_lbListbox;
    	CString m_eSaisie;
    	void SetPtrOnMainList(CCustomStringList *pcslList);
    	afx_msg void OnEnChangeEditCodeBarre();
    	afx_msg void OnChangeListSel();
    	CRichEditCtrl m_rRecapitulatif;
    	afx_msg void OnBnClickedButton1();
    	CColorEdit MyColorEdit;
    };

  20. #60
    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
    je vois que tu utilises :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DECLARE_DYNAMIC(DlValidationPage2)
    tu n'aurais pas oublié le :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    IMPLEMENT_DYNAMIC(DlValidationPage2,CTplDlgColor<CDialog>)
    note que dans ce cas ce couple de macro n'est pas utile .

+ Répondre à la discussion
Cette discussion est résolue.
Page 3 sur 4 PremièrePremière 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