Bonjour,

Je suis confronte a un probleme recurent dont je n'ai pas la solution.
Je cree une boite de dialogue avec une boite d'edition. (IDC_MYBOX), je lui affecte une variable de type controle (m_MyBox) m_Mybox.EnableWindow(WM_ENABLE), Ces operations fonctionnent avec toutes les fonctions membres (comme InitDialog()) de la classe BoxDialog derive de Dialog.

Par contre, si j'essaie de modifier l'aspect de la boite a l'exterieur de la classe. Impossible. Par exemple dans la classe CAppliDoc, qui contient les codes relatifs aux menus, l'acces aux proprietes de la boite conduit invariablement a une erreur fatale. Impossible a contourner.
J'ai tente de fabriquer une fonction membre public dans CBoxDialog, qui est

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
void CBoxDialog::ActiveBoite()
//permet l'activation de la boite de dialogue
{
	m_MyBox.EnableWindow(WM_ENABLE);
}
et de l'appeler dans le code principal de CAppliDoc

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
void CSectionBADoc::OnChoixSectionquelconque() 
{
	CMyBoxDialog aDlg;  	
	aDlg.ActiveBoite();	
	if (aDlg.DoModal() == IDOK)		 // l'affiche en mode modale
	{
	};
}
Mais ca plante violement a aDlg.ActiveBoite(), je me doute que c'est des histoires de pointeurs et de communications entre classe qui sont ne pas dans la meme branche.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
erreur: Debug assertion failed
	winocc.cpp
	ligne 321
D'avance merci pour tout deplantage
xavier