.


:




:

































 

 

 

 


CDocManager




' MFC ' CDocManager. MFC. , 䳿 . ' , CWinApp. ' CWinApp ' CDocManager. - CWinApp, ', ( ' CDocManager). ' CWinApp - m_pDocManager. , , - .

(document manager) ' ' . (public) - m_TemplateList. , :

 

void CSampleWinApp::IterateEveryTemplate ()

{

CDocManager* pManager = AfxGetApp()->m_pDocManager;

if (pManager == NULL) return;

POSITION pos = pManager->GetFirstDocTeraplatePosition();

while (pos!= NULL)

{

//

CDocTemplate* pTemplate =pManager->GetNextDocTemplate(pos);

//

DoSomething(pTemplate);

}

}

 

, , . , . , , . , , :

 

void CSampleWinApp::IterateEveryDocument()

{

CDocManager* pManager = AfxGetApp()->m_pDocManager;

if (pManager == NULL) return;

POSITION posTemplate = pManager->GetFirstDocTemplatePosition();

while (posTemplate!= NULL) {

//

CDocTemplate* pTemplate

= pManager->GetNextDocTemplate(posTemplate);

POSITION posDoc = pTemplate->GetFirstDocPosition{);

while (posDoc!= NULL) {

CYourDocument* pThisOne

= (CSampleDocument*) GetNextDoc(posDoc);

//

pThisOne->SomeFunctionCall();

}

}

}

 

, , AfxGetApp ' . - m_jDDocManager . , , , - CSampleWinApp; , ', AfxGetApp. , - m_pDocManager . ' ' , , AfxGetApp.

, - GetFirstDocTeraplatePosition GetNextDocTemplate CDocManager, , 䳿 䳿 - GetFirstViewPosition TetNextView CDocument, . GetNextDocTemplate, ( POSITION). , (runtime casting), ' CDocument CSampleDocument. IsKindOf MFC DYNAMIC_DOWNCAST, , , . .





:


: 2016-11-12; !; : 283 |


:

:

: , , , , .
==> ...

1793 - | 1621 -


© 2015-2024 lektsii.org - -

: 0.01 .