Dans une application de type MDI
J'ai trois documents et chaque document est affiché dans une vue, ce qui fait trois vues
Doc1 vue1
Doc2 vue2
Doc3 vu3
BOOL InitInstance()
..
..
CMultiDocTemplate* Template1;
Template1 = new CMultiDocTemplate(IDR_TYPE1,
RUNTIME_CLASS(CDoc1),
RUNTIME_CLASS(CChildFrame), // frame enfant MDI personnalisé
RUNTIME_CLASS(CView1));
CMultiDocTemplate* Template2;
Template2 = new CMultiDocTemplate(IDR_TYPE2,
RUNTIME_CLASS(CDoc2),
RUNTIME_CLASS(CChildFrame), // frame enfant MDI personnalisé
RUNTIME_CLASS(C View2));
CMultiDocTemplate* Template3;
Template3 = new CMultiDocTemplate(IDR_TYPE3,
RUNTIME_CLASS(CDoc3),
RUNTIME_CLASS(CChildFrame), // frame enfant MDI personnalisé
RUNTIME_CLASS(C View3));
AddDocTemplate(Template1);
AddDocTemplate(Template2);
AddDocTemplate(Template3);
..
.. .
.. ..
une fonction pour ouvrir une fenêtre
bool
CGPCApp::OuvrirDocument(const CString& cible)
{
CString nomdoc;
CDocTemplate*pModele;
POSITION pos=this->GetFirstDocTemplatePosition();
while(pos != NULL)
{
pModele=GetNextDocTemplate(pos);
pModele->GetDocString(nomdoc,CDocTemplate::docName);
if(nomdoc==cible)
{
pModele->OpenDocumentFile(NULL);
return
TRUE;
}
}
return
false;
}
le problème : comment faire pour empêcher l'ouverture de la même fenêtre plusieurs fois.