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


Отношения между объектами MFC

Помочь положил процесс создания документов и представлений в перспективу, анализирует запуск программы: документ, фреймовое окно, используемое для хранения представление и представление, связанные с документом.

  • Документ поддерживает список представлений этого документа и указателя в шаблон документов, создавшего документ.

  • Представление сохраняет указатель на его документ с дочерним элементом своего родительского фреймового окна.

  • Фрейма документа сохраняет указатель на его текущее активное представление.

  • Шаблон документов сохраняет его список открытых документов.

  • Приложение сохраняет список его шаблонов документов.

  • Windows отслеживает всех открытых окна таким образом, чтобы он может отправлять сообщения на них.

Эти связи устанавливаются во время создания документов и представлений. В следующей таблице показано, как объекты в выполняемую программу могут получать другие объекты. Любой объект может получить указатель на объект приложения, вызвав глобальной функции AfxGetApp.

Получить доступ к другим объектам в приложении

Из объекта

Как получить доступ к другим объектам

Document

Используйте GetFirstViewPosition и GetNextView для получения списка представления документа.

Вызов GetDocTemplate для получения шаблон документов.

Просмотр

Вызов GetDocument для обращения к документу.

Вызов GetParentFrame для получения фреймовое окно.

Фрейма документа.

Вызов GetActiveView для получения текущего представления.

Вызовите GetActiveDocument для получения вложенный документ к текущему представлению.

Фреймовое окно MDI

Вызовите MDIGetActive для получения текущего активного CMDIChildWnd.

Обычно фреймовое окно имеет одно представление, но иногда, как в окно-разделителях, то же фреймовое окно содержит несколько представлений. Фреймовое окно сохраняет указатель на текущий момент активное представление; указатель обновляется каждый раз, когда другое представление активировано.

Примечание

Указатель на фреймовому главное окно хранится в переменные-члене m_pMainWnd объекта приложения.Вызов OnFileNew в переопределении функции-члена InitInstanceCWinApp задает m_pMainWnd автоматически.Если не вызывается OnFileNew, пользователь должен самостоятельно установить значение переменной в InitInstance. (Приложения COM SDI компонентов (сервер) не могут настроить переменную, если /Embedding в командной строке,). Обратите внимание, что m_pMainWnd теперь член класса CWinThread вместо CWinApp.

См. также

Основные понятия

Шаблоны документов и процесс создания документов и представлений

Создание шаблонов документов

Создание документа или представления

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