Bonjour tout le monde,

alors voici mon soucis :

J'ai une application qui utilise une DLL (en MFC statique). J'utilise actuellement le fameux CXTabCtrl pour certaines des boites de dialogue de l'application.

J'aimerais passer la classe CXTabCtrl dans la DLL et ensuite créer des boites de dialogue qui utilisent le control CXTabCtrl.

Malheureusement, j'ai une erreur quand je veux ajouter un onglet au CXTabCtrl, l'assert suivant est levé :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
// should also be in the permanent or temporary handle map
CHandleMap* pMap = afxMapHWND();
ASSERT(pMap != NULL);
Voici comment je procède actuellement :

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
 
//--------------------------------------------------------------------------------------------------------------------
void Dlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(Dlg)
	DDX_Control(pDX, IDC_TAB3, m_TabCtrl);
	//}}AFX_DATA_MAP
}
 
//--------------------------------------------------------------------------------------------------------------------
BOOL Dlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
 
	//** creates the image list
	m_imagelistTab.Create(IDB_TABCTRL_IMAGE, 12, 0, RGB(0, 255, 0));
	m_TabCtrl.SetImageList(&m_imagelistTab);
 
	// Create best plane tab
	m_Tab= new DlgTab(this);
 
	m_Tab->Create(DlgTab::IDD, &m_TabCtrl);
	Title.LoadString(IDS_BestShape1);
	m_TabCtrl.AddTab(m_Tab, Title, 0);
 
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}
Le assert survient au moment du "m_Tab->Create(DlgTab::IDD, &m_TabCtrl);"

Est-il déjà possible de faire ce genre de choses ? Si oui comment faire ?

Merci en tout cas d'avoir lu ma question et de prendre le temps d'y réfléchir