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 :
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 !!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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);
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.
Partager