FAQ по C/C++/Visual C++
Работа с сетью Список документов в MDI приложении |
Составители: SUnteXx, Leprecon |
Список документов в MDI приложении | |||
void DocumentList() { CDocManager* pDocManager = AfxGetApp()->m_pDocManager; POSITION posTemplate = pDocManager->GetFirstDocTemplatePosition(); while(posTemplate) { CDocTemplate* pDocTemplate = pDocManager->GetNextDocTemplate(posTemplate); POSITION posDoc = pDocTemplate->GetFirstDocPosition(); while(posDoc) { CDocument* pDoc = pDocTemplate->GetNextDoc(posDoc); // Здесь можно сделать то, что нужно с каждым документом. // Если нужен какой-то определенный тип документов, // для этого можно воспользоваться runtime классом. // Вот пример как это сделать: if(pDoc->IsKindOf(RUNTIME_CLASS(CMyDocument))) { // CMyDocument - это ваш класс документа. } } } }Примечание: Для того чтобы в документе был объявлен runtime class, необходимо вставить в объявление документа как минимум макрос DECLARE_DYNAMIC(CMyDocument) А в файл реализации класса Если есть какие-то замечания, предложения или что-то еще, то пишите: leprecon@pisem.net. |
Каждый шаблон документа содержит список всех документов своего типа. Мэнеджер документов содержит список всех шаблонов приложения. Таким образом можно сделать сначало перебор по всем шаблонам, а в каждом шаблоне сделать перебор по всем документам в приложении.|||
|
FAQ составлен по материалам Форума на Исходниках.Ру. Copyright © 2002 by Sources.ru. All rights reserved. |