Класс шаблона cdoctemplate в приложении отвечает за взаимодействие документов, их представлений и фреймов. В MDI приложении используется его потомок cmultidoctemplate. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Класс шаблона cdoctemplate в приложении отвечает за взаимодействие документов, их представлений и фреймов. В MDI приложении используется его потомок cmultidoctemplate.

Поиск

 

Приложение активно использует шаблоны документов, когда пользователь создает новый документ.Может поддерживаться произвольное число типов документов - для этого нужно создать и «зарегистрировать» во время инициализации объекта-приложения (или при выполнении функции InitInstance) на каждый тип документов по шаблону. Если поддерживается более одного типа документов, то библиотека получает имена поддерживаемых типов из шаблонов и отображает их в специальном диалоговом окне в виде списка. Когда тип документа определен, приложение создает объекты «документ», «фрейм» и «представление» и сопоставляет их друг другу.

Сделаем небольшое отступление в область стандартных макросов библиотеки MFC. Макрос RUNTIME_CLASS(Class Name) применим ко всем классам, производным от CObject и объявленным с использованием макросов DECLARE_DYNAMIC, DECLARE_DYNCREATE или DECLARE_SERIAL (макросы DECLARE_* разрешают динамическое создание объекта и доступ к информации времени выполнения). Он возвращает указатель на структуру типа CRuntimeClass, содержащую информацию о классе Class Name. В подробности работы с информацией времени выполнения мы не будем углубляться.

 

Примечание. Средства идентификации типов объектов в период выполнения (runtime type identification, RTTI), предоставляемые библиотекой MFC не используют возможностей C++, предназначенных для этих целей, и значительно более гибки.

 

Взгляните на отрывок функции InitInstance, сгенерированной AppWizard для вашего производного класса приложения:

 



Поделиться:


Последнее изменение этой страницы: 2024-06-27; просмотров: 48; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.007 с.)