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


Представления форм (MFC)

Вы можете добавлять формы в любое приложение Visual C++, поддерживающее библиотеки MFC, включая приложение на основе форм (один класс представления которого является производным от CFormView). Если вы изначально не создали приложение для поддержки форм, Visual C++ добавит эту поддержку при вставке новой формы. В приложении SDI или MDI, реализующем архитектуру документа или представления по умолчанию, когда пользователь выбирает команду New (по умолчанию в меню "Файл"), Visual C++ предложит пользователю выбрать доступные формы.

При выборе новой команды в приложении SDI текущий экземпляр формы продолжает выполняться, но создается новый экземпляр приложения с выбранной формой, если он не найден. В приложении MDI текущий экземпляр формы продолжает выполняться, когда пользователь выбирает команду New .

Примечание.

Вы можете вставить форму в приложение на основе диалогов (один из которых основан CDialog на классе диалогов и в котором класс представления не реализован). Однако без архитектуры документа и представления Visual C++ не реализует автоматически функции "Создать файл>". Необходимо создать способ просмотра дополнительных форм, например путем реализации диалогового окна с вкладками с различными страницами свойств.

При вставке новой формы в приложение Visual C++ выполняет следующие действия:

  • Создает класс на основе одного из классов стилей форм, которые вы выбираете (CFormView, илиCDaoRecordViewCRecordViewCDialog).

  • Создает ресурс диалогового окна с соответствующими стилями (или можно использовать существующий ресурс диалога, который еще не связан с классом).

    При выборе существующего ресурса диалогового окна может потребоваться задать эти стили с помощью страницы "Свойства" для диалогового окна. Стили для диалогового окна должны включать:

    WS_CHILD=Вкл.

    WS_BORDER=Off

    WS_VISIBLE=Off

    WS_CAPTION=Off

Для приложений на основе архитектуры документа или представления команда New Form (щелкните правой кнопкой мыши в представлении классов) также:

  • CDocumentСоздает класс на основе

    Вместо создания нового класса можно использовать любой существующий CDocumentкласс на основе в проекте.

  • Создает шаблон документа (производный от CDocument) со строками, меню и ресурсами значков.

    Вы также можете создать новый класс, на котором будет создан шаблон.

  • Добавляет вызов AddDocumentTemplate в код приложения InitInstance .

    Visual C++ добавляет этот код для каждой создаваемой новой формы, которая добавляет форму в список доступных форм, когда пользователь выбирает команду New . Этот код включает связанный с формой идентификатор ресурса и имена связанных документов, представлений и классов фреймов, составляющих новый объект формы.

    Шаблоны документов служат связью между документами, окнами фреймов и представлениями. Для одного документа можно создать множество шаблонов.

Дополнительные сведения см. в разделе:

См. также

Элементы пользовательского интерфейса