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


Класс CFrameWnd

Предоставляет функциональность фреймового окна интерфейса одинарного документа Windows (SDI) или перекрывающихся контекстного меню, вместе с элементами управления в окне.

class CFrameWnd : public CWnd

Члены

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

Имя

Описание

CFrameWnd::CFrameWnd

Создает объект CFrameWnd.

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

Имя

Описание

CFrameWnd::ActivateFrame

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

CFrameWnd::BeginModalState

Устанавливает фреймовое окно режимному.

CFrameWnd::Create

Вызовите для создания и инициализации фреймовое окно Windows, связанное с объектом CFrameWnd.

CFrameWnd::CreateView

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

CFrameWnd::DockControlBar

Закрепит панель элементов управления.

CFrameWnd::EnableDocking

Разрешает панель элементов управления, который необходимо закрепить.

CFrameWnd::EndModalState

Завершает фреймового окна модальное состояние. Включает все окна монитор заблокированных BeginModalState.

CFrameWnd::FloatControlBar

Располагается панель элементов управления.

CFrameWnd::GetActiveDocument

Возвращает активный объект CDocument.

CFrameWnd::GetActiveFrame

Возвращает активный объект CFrameWnd.

CFrameWnd::GetActiveView

Возвращает активный объект CView.

CFrameWnd::GetControlBar

Извлекает панель элементов управления.

CFrameWnd::GetDockState

Извлекает состояние закрепления фреймового окна.

CFrameWnd::GetMenuBarState

Извлекает состояние отображения меню в приложении MFC набору.

CFrameWnd::GetMenuBarVisibility

Указывает, является ли функциональности по умолчанию меню в приложении MFC текущего или скрыта или видимой.

CFrameWnd::GetMessageBar

Возвращает указатель на строку состояния, принадлежащие фреймовому окно.

CFrameWnd::GetMessageString

Получает сообщение, соответствующее идентификатору команды

CFrameWnd::GetTitle

Возвращает имя связанной области элементов управления.

CFrameWnd::InitialUpdateFrame

Вызывает функцию-член OnInitialUpdate, принадлежащие всем представлениям фреймовом окне, которую необходимо вызвать.

CFrameWnd::InModalState

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

CFrameWnd::IsTracking

Определяет панель если разделитель в настоящее время перемещения.

CFrameWnd::LoadAccelTable

Вызов для загрузки таблицы сочетаний клавиш.

CFrameWnd::LoadBarState

Вызов, чтобы извлечь параметры панели элементов управления.

CFrameWnd::LoadFrame

Вызов для динамического создания фреймовое окно из сведений о ресурсах.

CFrameWnd::NegotiateBorderSpace

Обсуждается место границы в фреймовом окне.

CFrameWnd::OnBarCheck

Вызываемого при выполнении действия на панели управления.

CFrameWnd::OnContextHelp

Справка маркеров SHIFT+F1 для элементов в-размещения.

CFrameWnd::OnSetPreviewMode

Устанавливает фреймовое главное окно приложения и из режима предварительного просмотра.

CFrameWnd::OnUpdateControlBarMenu

Вызываемый платформой, если связанное меню обновлено.

CFrameWnd::RecalcLayout

Изменяет положение панели элементов управления объекта CFrameWnd.

CFrameWnd::SaveBarState

Вызов, чтобы сохранить параметры панели элементов управления.

CFrameWnd::SetActivePreviewView

Обозначает указанное представление, чтобы быть активными представлением, богатого предварительного просмотра.

CFrameWnd::SetActiveView

Задает активный объект CView.

CFrameWnd::SetDockState

Вызов для закрепления фреймовое окно в главном окне.

CFrameWnd::SetMenuBarState

Устанавливает состояние отображения меню, которое открывается в приложении MFC для скрытого или текущий.

CFrameWnd::SetMenuBarVisibility

Задает расширение функциональности по умолчанию меню в приложении MFC текущего быть или скрывать или видимым.

CFrameWnd::SetMessageText

Устанавливает текст стандартной строки состояния.

CFrameWnd::SetProgressBarPosition

Задает текущее положение индикатора выполнения для отображаемого на панели задач Windows 7.

CFrameWnd::SetProgressBarRange

Наборы - для индикатора выполнения Windows 7, отображаемого на панели задач.

CFrameWnd::SetProgressBarState

Задает тип и состояние индикатора хода выполнения на кнопке панели задач отображается.

CFrameWnd::SetTaskbarOverlayIcon

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

CFrameWnd::SetTitle

Задает имя связанной области элементов управления.

CFrameWnd::ShowControlBar

Вызов для вывода области элементов управления.

CFrameWnd::ShowOwnedWindows

Отображает все окна, которые являются потомками объекта CFrameWnd.

Защищенные методы

Имя

Описание

CFrameWnd::OnCreateClient

Создает окно клиента для кадра.

CFrameWnd::OnHideMenuBar

Перед меню в приложении MFC с текущим скрывает.

CFrameWnd::OnShowMenuBar

Меню в приложении MFC, вызываемый до текущего.

Открытые члены данных

Имя

Описание

CFrameWnd::m_bAutoMenuEnable

Элементы управления автоматически включают функции и запрещен для пунктов меню.

CFrameWnd::rectDefault

Передайте это статическое CRect как параметр создать объект CFrameWnd для разрешения Windows для выбора размер и положение окна начальный.

Заметки

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

3 Способа построения фреймовое окно:

  • Непосредственно постройте его с помощью Создание.

  • Непосредственно постройте его с помощью LoadFrame.

  • Косвенно выполните его построение с помощью шаблона документа.

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

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

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

Если объект CFrameWnd содержащий представления и документов, они созданы неявно платформой, а не напрямую по программиста. Объект CDocTemplate оркеструет создание фрейма, создание представлений и представлений, содержащий соединение в соответствующий документу. Параметры конструктора CDocTemplate определяют CRuntimeClass 3 классов, которые участвуют (документ, кадр и представление). Объект CRuntimeClass используется платформой для динамического создания новых определенный пользователем кадров (например, с помощью команды файла новой или нескольких команд окне интерфейса MDI новую).

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

CFrameWnd содержит реализации по умолчанию выполнять следующие функции главного окна в типичном приложении Windows:

  • Отслеживает представления фреймовое окно CFrameWnd а в настоящий момент активно, которое не зависит от активного окна Windows или текущего фокуса ввода. Если кадр, которая активное представление уведомлено путем вызова CView::OnActivateView.

  • Сообщения команды и многие часто сообщений кадр- уведомления, включая те обрабатываемые OnSetFocus, OnHScroll и функции OnVScrollCWnd, делегированы фреймовым окном CFrameWnd для текущего активного представления.

  • Активное в данный момент представление (или активное в данный момент фреймовое окно дочернего элемента интерфейса MDI в случае с кадра MDI) может определить заголовок фреймового окна. Эта функция может быть отключена, чтобы отключить стиль FWS_ADDTOTITLE сдержанная фреймового окна.

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

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

  • Фреймовое окно CFrameWnd содержит дополнительную таблицу сочетаний клавиш, которая автоматически преобразует сочетания клавиш клавиатуры.

  • Фреймовое окно CFrameWnd имеет необязательный идентификатор справки задается с LoadFrame, используемое для контекстной справки. Фреймовое окно главный модуль взаимодействия semimodal как режимы состояний контекстной справки (SHIFT+F1) и предварительного просмотра.

  • Фреймовое окно CFrameWnd перетащенный открытии файла из файлового менеджеров и удаленный в фреймовом окне. Если расширение файла зарегистрирован и сопоставлено с приложением, фреймовое окно отвечает на динамический обмена данными (запрос открытого DDE), происходит, когда пользователь открывает файл данных в файловом менеджере или при называется функция ShellExecute Windows.

  • Если фреймовое окно главное окно приложения (то есть CWinThread::m_pMainWnd), когда пользователь закрывает приложение, фреймовое окно предлагает пользователю сохранить все измененные документов (для OnClose и OnQueryEndSession).

  • Если фреймовое окно главное окно приложения, фреймовое окно контекст для выполнения WinHelp. Закрытие фреймовое окно отключает WINHELP.EXE если оно было начать справки для данного приложения.

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

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

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

CObject

CCmdTarget

CWnd

CFrameWnd

Требования

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

См. также

Ссылки

Класс CWnd

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

Класс CWnd

Класс CMDIFrameWnd

Класс CMDIChildWnd

Класс CView

Класс CDocTemplate

Структура CRuntimeClass