DLL, Visual C++, MFC et Tecplot
Bonjour,
Je dois développer des "add-ons" (termes propres à Tecplot, ce sont des dll) en VC++ (OS : MS XP, Visual Studio 2008).
Je poste le présent message car je rencontre l'ennui suivant :
je cherche à afficher sur un CDialog l'ensemble des pages (sous forme d'onglets)
dans une CPropertySheet ; ces pages sont des CPropertyPage.
Le test avec un projet application MFC fonctionne très bien ; grosso modo, le code associé est le suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| m_dlgPropSheet.AddPage(&m_pageToto_0);
m_dlgPropSheet.AddPage(&m_pageToto_1);
m_dlgPropSheet.AddPage(&m_pageToto_2);
m_dlgPropSheet.AddPage(&m_mypage);
m_dlgPropSheet.Create(this, WS_CHILD | WS_VISIBLE, 0);
m_dlgPropSheet.ModifyStyleEx(0, WS_EX_CONTROLPARENT);
m_dlgPropSheet.ModifyStyle(0, WS_TABSTOP);
CRect recSheet;
GetDlgItem(IDC_PROPSHEET)->GetWindowRect(&recSheet);
ScreenToClient(&recSheet);
m_dlgPropSheet.SetWindowPos(NULL, recSheet.left, recSheet.top, 0, 0, SWP_NOZORDER | SWP_NOSIZE | SWP_NOACTIVATE); |
En considérant le même code, en l'incluant dans une dll, myAddon.dll, en mettant ce fichier dans le répertoire ad hoc (ie C:\Program Files\Tecplot\Tec360 2010\bin) de Tecplot et en lançant Tecplot, la fonctionnalité de l'add-on apparaît bien au sein de Tecplot ; je lance cette fonctionnalité (depuis un menu), l'interface du CDialog apparaît bien mais pas les pages au sein de la CPropertySheet !!! :(
Pourtant, les pages sont présentes : avec une TRACE je vois bien en message
qu'il y a 4 pages. Mais celles-ci sont inaccessibles au niveau de l'interface.
Alors, je lance ma bouteille :
si une personne qui développe dans un tel contexte sait résoudre le problème ou a des suggestions, peut-elle émettre celles-ci ?
D'avance, merci.