Microsoft Visual C++ и MFC. Программирование для Win95 и WinNT

         

Метод GetDocument класса CMultiView


В секции атрибутов класса CMultiView после комментария Attributes объявлен метод GetDocument. Этот метод возвращает указатель на документ, связанный с данным окном просмотра. Если окно просмотра не связано ни с каким документом, метод возвращает значение NULL.

Метод GetDocument имеет две реализации. Одна используется для отладочной версии приложения, а другая - для окончательной. Окончательная версия GetDocument определена непосредственно после самого класса окна просмотра CMultiView как встраиваемый (inline) метод:

#ifndef _DEBUG

inline CMultiDoc* CMultiView::GetDocument()

   { return (CMultiDoc*) m_pDocument; }

#endif

Переменная m_pDocument является элементом класса CView, определенным как protected. В документации на класс CView описание элемента m_pDocument отсутствует. Однако, вам достаточно знать, что после инициализации документа и окна просмотра в нем записан указатель на соответствующий документ. Если вы желаете получить дополнительную информацию, обратитесь к исходным текстам библиотеки MFC. Вы найдете определение класса CView и элемента этого класса m_pDocument в файле Afxwin.h.

Метод GetDocument совпадает с одноименным методом класса окна просмотра однооконного приложения за исключением того, что тип возвращаемого им указателя CMultiDoc.

Отладочная версия GetDocument расположена в файле реализации класса окна просмотра MultiView.cpp:

#ifdef _DEBUG

CMultiDoc* CMultiView::GetDocument()

{

   ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMultiDoc)));

   return (CMultiDoc*) m_pDocument;

}

#endif //_DEBUG



Содержание раздела