Поделиться через


Создание новых документов, окон и представлений

На следующих рисунках представлен обзор процесса создания документов, представлений и окон фрейма. Другие статьи, посвященные участвующим объектам, предоставляют дополнительные сведения.

После завершения этого процесса взаимодействующие объекты существуют и хранят указатели друг на друга. На следующих рисунках показана последовательность создания объектов. Вы можете следовать последовательности из рисунка на рисунок.

Diagram showing the sequence for creating a document.
Последовательность при создании документа

Diagram showing the Frame Window creation sequence.
Последовательность при создании окна фрейма

Diagram showing the sequence for creating a view.
Последовательность при создании представления

Сведения о том, как платформа инициализирует новые объекты документа, представления и окна кадров, см. в классах CDocument, CView, CFrameWnd, CMDIFrameWnd и CMDIChildWnd в справочнике по библиотеке MFC. Также см . Технический примечание 22, который объясняет процессы создания и инициализации далее при обсуждении стандартных команд платформы для новых и открытых элементов в меню "Файл ".

Инициализация собственных дополнений к этим классам

Приведенные выше цифры также предлагают точки, в которых можно переопределить функции-члены для инициализации объектов приложения. Переопределение OnInitialUpdate в классе представления — это лучшее место для инициализации представления. Вызов OnInitialUpdate происходит сразу после создания окна кадра, а представление в окне кадра присоединено к документу. Например, если представление является представлением прокрутки (производным от CScrollView этого CView), следует задать размер представления на основе размера документа в OnInitialUpdate переопределении. (Этот процесс описан в описании класса CScrollView.) Вы можете переопределить CDocument функции-члены OnNewDocument и OnOpenDocument предоставить инициализацию документа для конкретного приложения. Как правило, необходимо переопределить оба способа, так как документ можно создать двумя способами.

В большинстве случаев переопределение должно вызывать версию базового класса. Дополнительные сведения см. в именованных функциях-членах классов CDocument, CView, CFrameWnd и CWinApp в справочнике по библиотеке MFC.

См. также

Шаблоны документов и процесс создания документа или представления
Создание шаблонов документов
Создание документа и представления
Отношения между объектами MFC