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


Класс CMDIFrameWnd

Предоставляет функциональность фреймового окна документа Windows с несколькими интерфейса (MDI) вместе с элементами управления в окне.

class CMDIFrameWnd : public CFrameWnd

Члены

Открытые конструкторы

Имя

Описание

CMDIFrameWnd::CMDIFrameWnd

Конструирует CMDIFrameWnd.

Открытые методы

Имя

Описание

CMDIFrameWnd::CreateClient

Создает окно Windows MDICLIENT для этого CMDIFrameWnd. Вызванный функцией-членом OnCreateCWnd.

CMDIFrameWnd::CreateNewChild

Создает новое дочернее окно.

CMDIFrameWnd::GetWindowMenuPopup

Возвращает контекстное меню меню окно.

CMDIFrameWnd::MDIActivate

Активировать другое дочернее окно MDI.

CMDIFrameWnd::MDICascade

Упорядочивает дочерние окна в каскадированном формате.

CMDIFrameWnd::MDIGetActive

Возвращает активное в данный момент дочернее окно MDI, вместе с флагом, указывающий развернуть ли дочерний элемент.

CMDIFrameWnd::MDIIconArrange

Свернутые упорядочивает все дочерние окна документа.

CMDIFrameWnd::MDIMaximize

Разверните дочернее окно MDI.

CMDIFrameWnd::MDINext

Активировать дочернее окно сразу за активное в данный момент дочернее окно и задает в настоящий момент активным окном за дочерним любых других дочерних окон.

CMDIFrameWnd::MDIPrev

Активировать предыдущее дочернее окно и устанавливает активное в данный момент дочернее окно немедленно за ним.

CMDIFrameWnd::MDIRestore

Возвращает дочернее окно MDI из развернутого или свернутого размера.

CMDIFrameWnd::MDISetMenu

Заменяет фреймового окна меню MDI, раскрывающегося меню окна или и того, и другого.

CMDIFrameWnd::MDITile

Упорядочивает дочерние окна в замосщенном формате.

Заметки

Чтобы создать полезный фреймовое окно MDI для конкретного приложения, создайте класс, наследуемый от CMDIFrameWnd. Добавьте элемент переменные к производному классу для хранения данных, относящийся к приложению. Реализуйте функции-члены обработчика сообщений и сопоставление сообщения в производном классе позволяет определить, что происходит, когда сообщения направляются в окно.

Можно создавать фреймовое окно MDI путем вызова функции-члена Создание или LoadFrameCFrameWnd.

Прежде чем вызывать метод Создать или LoadFrame необходимо построить объекте фреймового окна в куче с помощью оператора C++ новый. Перед вызовом Создать можно также зарегистрировать класс окна с функцией AfxRegisterWndClass глобальный, чтобы задать стили значка и класса для кадра.

Использование функции-члена Создать чтобы передать параметры создания кадра, как непосредственные аргументы.

LoadFrame требуется меньшее число аргументов, чем Создать, а вместо этого извлекает большинство значений по умолчанию из ресурсов, включая заголовок кадра, значок таблицы сочетаний клавиш и меню. К которым LoadFrame, все эти ресурсы должны иметь один и тот же идентификатор ресурсов (например, IDR_MAINFRAME).

Хотя MDIFrameWnd является производным от CFrameWnd, классу фреймового окна, унаследованный от CMDIFrameWnd не должны быть объявлены с DECLARE_DYNCREATE.

Класс CMDIFrameWnd наследует большую часть своей реализации по умолчанию из CFrameWnd. Подробный список этих функций см. в описании класса CFrameWnd. Класс CMDIFrameWnd, имеет следующие дополнительные функции:

  • Фреймовое окно MDI управляет окно MDICLIENT, проходящих его вместе с панелями элементов управления. Окно клиента MDI непосредственно родительским фреймовых окон дочернего элемента интерфейса MDI. Стили окна WS_HSCROLL и WS_VSCROLL, определенные в CMDIFrameWnd применяются к окну клиента MDI, а не основным фреймовое окно поэтому пользователь может прокручиваться клиентскую область MDI (например, в Windows, например руководителе программ).

  • Фреймовое окно MDI содержит по умолчанию меню, которое используется в виде строки меню, если активное дочернее окно MDI. Если активным является дочерним элементом MDI, строка меню MDI фреймового окна автоматически заменена меню дочернего окна MDI.

  • Фреймовое окно MDI работает совместно с текущим дочерним окно MDI, если он имеется. Например, сообщения команды делегированы для текущего активного дочернему элементу MDI перед фреймовым окно MDI.

  • Фреймовое окно MDI содержит обработчики по умолчанию для следующих стандартных команд меню окна:

    • ID_WINDOW_TILE_VERT

    • ID_WINDOW_TILE_HORZ

    • ID_WINDOW_CASCADE

    • ID_WINDOW_ARRANGE

  • Фреймовое окно MDI также содержит реализацию ID_WINDOW_NEW, которая создает новые кадр и представление в текущем документе. Приложение может переопределить эти реализации по умолчанию команды для настройки обработки в окне интерфейса MDI.

Не используйте оператор C++ удалить для уничтожения фреймовое окно. Взамен рекомендуется использовать CWnd::DestroyWindow. Реализация CFrameWndPostNcDestroy удаляет объект C++, если окно будет удалено. Когда пользователь закрывает фреймовое окно, по умолчанию будут вызывать DestroyWindow обработчика OnClose.

Дополнительные сведения о CMDIFrameWnd см. в разделе фреймовые окна.

Иерархия наследования

CObject

CCmdTarget

CWnd

CFrameWnd

CMDIFrameWnd

Требования

Заголовок: afxwin.h

См. также

Ссылки

Класс CFrameWnd

Диаграмма иерархии

Класс CWnd

Класс CMDIChildWnd

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

MFC, пытается интерфейс MDI

Образец MDIDOCVW MFC

Образец SNAPVW MFC