Accéder à un Ctrl (CXTabCtrl) depuis une DLL
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:
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:
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 :D