c''est quoi la version de compilateur vs ? 6.0, .net 2001-2003 ,2005 ?
![]()
c''est quoi la version de compilateur vs ? 6.0, .net 2001-2003 ,2005 ?
![]()
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++.
c'est visual c++ .net
on la trouve ou la version du compile, sur le about, j'ai :
Microsoft Development Environment 2003 Version 7.1.3088
bon c'est a cause des templates ,ça passe parfaitement sous VC6.0...
essaye de mettre ce code dans templdef.h
en remplacement du bloc DECLARE_TEMPLATE_MESSAGE_MAP
de plus a partir de .net cette macro existe ,je l'ai renommée en changeant
_TEMPLATE_ par _TPL_
ça devrait passer sous .net 2003 ,mais ça passe pas sous VC 2005
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 /////////////////////////////////////////////////////////////////////////////// // definition for MESSAGE_MAP: #define DECLARE_TPL_MESSAGE_MAP() DECLARE_MESSAGE_MAP() #include "afxtempl.h" #if _MSC_VER >= 0x0700 #ifdef _AFXDLL #define BEGIN_TPL_MESSAGE_MAP(theTemplArgs, theClass, baseClass) \ template \ const AFX_MSGMAP* PASCAL theClass::GetThisMessageMap() \ { return &theClass::messageMap; } \ template \ const AFX_MSGMAP* theClass::GetMessageMap() const \ { return &theClass::messageMap; } \ template \ AFX_COMDAT const AFX_MSGMAP theClass::messageMap = \ { &baseClass::GetThisMessageMap, &theClass::_messageEntries[0] }; \ template \ AFX_COMDAT const AFX_MSGMAP_ENTRY theClass::_messageEntries[] = \ { #else #define BEGIN_TPL_MESSAGE_MAP(theTemplArgs, theClass, baseClass) \ template \ const AFX_MSGMAP* theClass::GetMessageMap() const \ { return &theClass::messageMap; } \ template \ AFX_COMDAT const AFX_MSGMAP theClass::messageMap = \ { &baseClass::messageMap, &theClass::_messageEntries[0] }; \ template \ AFX_COMDAT const AFX_MSGMAP_ENTRY theClass::_messageEntries[] = \ { #endif #else #ifdef _AFXDLL #define BEGIN_TPL_MESSAGE_MAP(theTemplArgs, theClass, baseClass) \ template <theTemplArgs> \ const AFX_MSGMAP* PASCAL theClass::_GetBaseMessageMap() \ { return &baseClass::messageMap; } \ template <theTemplArgs> \ const AFX_MSGMAP* theClass::GetMessageMap() const \ { return &theClass::messageMap; } \ template <theTemplArgs> \ AFX_COMDAT AFX_DATADEF const AFX_MSGMAP theClass::messageMap = \ { &theClass::_GetBaseMessageMap, &theClass::_messageEntries[0] }; \ template <theTemplArgs> \ AFX_COMDAT const AFX_MSGMAP_ENTRY theClass::_messageEntries[] = \ { \ #else #define BEGIN_TPL_MESSAGE_MAP(theTemplArgs, theClass, baseClass) \ template <theTemplArgs> \ const AFX_MSGMAP* theClass::GetMessageMap() const \ { return &theClass::messageMap; } \ template <theTemplArgs> \ AFX_COMDAT AFX_DATADEF const AFX_MSGMAP theClass::messageMap = \ { &baseClass::messageMap, &theClass::_messageEntries[0] }; \ template <theTemplArgs> \ AFX_COMDAT const AFX_MSGMAP_ENTRY theClass::_messageEntries[] = \ { \ #endif #endif #define END_TPL_MESSAGE_MAP() END_MESSAGE_MAP()![]()
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++.
oula !!!
j'ai à bloc d'erreur !!!!
j'essai de trouver la premiere ..... et jla poste
[edit de moi :)] jai supprimé les 300 lignes d'erreurs que j'avais mis et qui encombré le forum inutilement
si tu relis mon message ,j'ai dis qu'il fallait remplacer
DECLARE_TEMPLATE_MESSAGE_MAP par
DECLARE_TPL_MESSAGE_MAP
et de maniere generale _TEMPLATE_ par _TPL_ ......
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++.
c'est fait (exact j'avais oublié)
ca se réduit maintenant à :
------ Build started: Project: Douchette, Configuration: Debug Win32 ------
Compiling...
XTabCtrl.cpp
XTabCtrl.h(87) : error C2039: '_GetBaseMessageMap' : is not a member of 'CTplDlgColor<GENERIC_DLGCOLOR>'
XTabCtrl.cpp(53) : error C2440: 'static_cast' : cannot convert from 'void (__thiscall CXTabCtrl::* )(NMHDR *,LRESULT *)' to 'BOOL (__thiscall CCmdTarget::* )(NMHDR *,LRESULT *)'
None of the functions with this name in scope match the target type
XTabCtrl.cpp(129) : warning C4244: 'initializing' : conversion from 'INT_PTR' to 'int', possible loss of data
DlValidationPage2.cpp
DlValidation.cpp
XTabCtrl.h(87) : error C2039: '_GetBaseMessageMap' : is not a member of 'CTplDlgColor<GENERIC_DLGCOLOR>'
DlRecapitulatif.cpp
XTabCtrl.h(87) : error C2039: '_GetBaseMessageMap' : is not a member of 'CTplDlgColor<GENERIC_DLGCOLOR>'
DlListClick.cpp
XTabCtrl.h(87) : error C2039: '_GetBaseMessageMap' : is not a member of 'CTplDlgColor<GENERIC_DLGCOLOR>'
DlConnection.cpp
XTabCtrl.h(87) : error C2039: '_GetBaseMessageMap' : is not a member of 'CTplDlgColor<GENERIC_DLGCOLOR>'
DlAccueil.cpp
XTabCtrl.h(87) : error C2039: '_GetBaseMessageMap' : is not a member of 'CTplDlgColor<GENERIC_DLGCOLOR>'
Douchette.cpp
XTabCtrl.h(87) : error C2039: '_GetBaseMessageMap' : is not a member of 'CTplDlgColor<GENERIC_DLGCOLOR>'
Generating Code...
Build log was saved at "file://Debug\BuildLog.htm"
Douchette - 8 error(s), 1 warning(s)
---------------------- Done ----------------------
Build: 0 succeeded, 1 failed, 0 skipped
bon j'ai opté pour une solution compilable pour les 3 compilateurs vc6,.net,2005., je verrais le probleme des messages map templates une autre fois.
le projet est a jour.
![]()
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++.
y'a une manip à faire avec ?
j'ai cette erreur dans ton projet :XTabCtrl.cpp(53) : error C2440: 'static_cast' : cannot convert from 'void (__thiscall CXTabCtrl::* )(NMHDR *,LRESULT *)' to 'BOOL (__thiscall CCmdTarget::* )(NMHDR *,LRESULT *)'
essaye ça:
j'ai remplacé le void par BOOL .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 BOOL CXTabCtrl::OnSelchanging(NMHDR* pNMHDR, LRESULT* pResult) { // TODO: Add your control notification handler code here m_iSelectedTab = GetCurSel(); *pResult = 0; return FALSE; }
modifie aussi le .h .
c'est le probleme du portage d'un code VC6 sur .net ....
![]()
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, ce coup ci,
c'est le gris qui déconne
le titre de l'onglet est foncé alors que le contenu est clair
tu as appelé :SetDialogBkColor dans les differentes dialogues ?
voir mon exemple .
![]()
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++.
je pensais qu'il suffisait de mettre TabCtrl.SetAutoSizePannel(); à l'appelante
comment puis alors connaitre la couleur de base (le gris clair) ?
je l'ai plus en tete mais :
une petite copie ecran de la zone concernée ,
puis appel paint
copier la zone
prelevée la couleur avec l'outil prelevement couleur
et menu couleurs / modifier les couleurs /bouton couleurs personnalisées.
la tu trouves les valeurs RGB.
![]()
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'essai de l'appeler comme tu l'a fais :
et j'ai bien misBOOL DlValidationPage2::OnInitDialog()
{
CDialog::OnInitDialog();
SetDialogBkColor(RGB(193, 193, 255));dans mon .h seulement, il trouve pas :#include "XTabCtrl.h"jvois pas mon erreur la,DlValidationPage2.cpp(56) : error C3861: 'SetDialogBkColor': identifier not found, even with argument-dependent lookup
j'ai beau cleaner ma solution, rien n'y fais
regarde mon exemple et l'utilsation de la classe template....
les 3 classes panneaux et dialog utilisent la classe template....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 class CTabMoreInformation : public CTplDlgColor<CDialog> ... class CTabInformation : public CTplDlgColor<CDialog> ... class CTabctrlDlg : public CTplDlgColor<CDialog>
voir les implementations dans les .cpp.
![]()
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++.
quelle tache ! j'ai zappé ca !
mais sinon, pkoi hier de base, le gris etait ok (di ce n'est dans les onglet), et plus la ?
j'ai rien fais de plus hier, aucun SetDialogBkColor ....
le gris etait ok sur les panneaux grace au resize des dialogues...
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++.
ton projet integre un manifest ? si oui tu as mis le Ctabctrl owner draw dans les ressources.
sinon montre moi une copie d'ecran de ta fenetre .
![]()
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++.
Partager