Problème d'affichage de dialogue avec mon appli
Bonjour,
Voici le cadre de mon appli : une application boîte de dialogue.
dans cette boite de dialogue, dynamiquement, j'y crée une autre, qui se trouve être cliente de la premiere.
Code:
1 2 3
|
m_pConfig = new (CConfig);
m_pConfig->Create(IDD_CONFIG_APP, &m_StaticModule); |
Cette seconde boîte de dialogue est prévue pour faire de la configuration.
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 30 31 32 33 34 35 36 37 38 39
|
BOOL CConfig::OnInitDialog()
{
CDialog::OnInitDialog();
//--------------------------------------------------------------------------
// Gestion de l'affichage du TreePropSheet et des pages de configuration
//--------------------------------------------------------------------------
// Ajoute toutes les pages de configuration
m_sheetConfig.AddPage(&pageGeneral);
...
m_sheetConfig.AddPage(&pageVerifEtat);
// Paramètre l'affichage
m_sheetConfig.SetTreeViewMode( TRUE, TRUE );
m_sheetConfig.SetEmptyPageText (_T("Choisissez une des sections de '%s'"));
m_sheetConfig.Create( this, WS_CHILD | WS_VISIBLE , 0 );
// On positionne le contrôle dans la fenêtre, si on a des pages (sinon, rien est fait).
if( 0 != m_sheetConfig.GetPageCount() )
{
m_sheetConfig.ModifyStyleEx( 0, WS_EX_CONTROLPARENT );
m_sheetConfig.ModifyStyle( 0, WS_TABSTOP );
CRect rcSheet;
CWnd* pWnd = GetDlgItem( IDC_CFG_CLIENT );
if( !pWnd )
{
ASSERT( FALSE );
return false;
}
pWnd->GetWindowRect( &rcSheet );
ScreenToClient( &rcSheet );
m_sheetConfig.SetWindowPos( NULL, rcSheet.left, rcSheet.top, rcSheet.right, rcSheet.bottom, SWP_NOZORDER|SWP_NOSIZE|SWP_NOACTIVATE );
}
return true;
} |
J'utilise une classe CTreePropSheet pour ce faire (type de m_sheetConfig).
Malheureusement, lorsque je veux afficher une boîte de dialogue, celle-ci n'apparaît pas, l'application semble figée... ce quelque soit la boîte de dialogue (AfxMessageBox(), SHBrowseForFolder(), ...).
Avez vous rencontré ce genre de problème ? ou avez vous une idée du pkoi ?
Merci