Bon, comme promis, voilà la macro, en espérant que cela puisse aider (même si, à vrai dire, j'en doute) :
1 2 3 4 5 6 7 8 9 10
| #define IMPLEMENT_DYNCREATE2(full_class_name, class_name, base_class_name) \
CObject* PASCAL full_class_name::CreateObject() \
{ return new full_class_name; } \
CRuntimeClass* PASCAL _GetBaseClass() \
{ return RUNTIME_CLASS(base_class_name); } \
const AFX_DATADEF CRuntimeClass full_class_name::class##class_name = { \
#full_class_name, sizeof(class full_class_name), 0xFFFF, full_class_name::CreateObject, \
&_GetBaseClass, NULL }; \
CRuntimeClass* full_class_name::GetRuntimeClass() const \
{ return RUNTIME_CLASS(class_name); } \ |
Et voici un exemple d'appel à cette macro :
IMPLEMENT_DYNCREATE2(CidsChap03KPage6::Cids03K6Grd2, Cids03K6Grd2, CidsBrowserView)
Partager