Класс CDockingManager

Реализует базовую функциональность, которая контролирует макет закрепления в окне главного фрейма.

Синтаксис

class CDockingManager : public CObject

Участники

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

Имя Описание
CDockingManager::AddDockSite Создает панель док-станции и добавляет ее в список панелей управления.
CDockingManager::AddHiddenMDITabbedBar Добавляет дескриптор на панель в список скрытых панелей на вкладках MDI.
CDockingManager::AddMiniFrame Добавляет кадр в список мини-кадров.
CDockingManager::AddPane Регистрирует область с помощью диспетчера закрепления.
CDockingManager::AdjustDockingLayout Пересчитывает и настраивает макет всех панелей в окне фрейма.
CDockingManager::AdjustPaneFrames Вызывает отправку сообщения WM_NCCALCSIZE на все панели и CPaneFrameWnd окна.
CDockingManager::AdjustRectToClientArea Настраивает выравнивание прямоугольника.
CDockingManager::AlignAutoHidePane Изменяет размер панели док-станции в режиме автоматической ориентации, чтобы она защищена полной шириной или высотой клиентской области кадра, окруженной сайтами док-станции.
CDockingManager::AutoHidePane Создает панель инструментов автоматической обработки.
CDockingManager::BringBarsToTop Приведет закрепленные полосы с заданным выравниванием к верхней части.
CDockingManager::BuildPanesMenu Добавляет имена панелей док-станции и панелей инструментов в меню.
CDockingManager::CalcExpectedDockedRect Вычисляет ожидаемый прямоугольник закрепленного окна.
CDockingManager::Create Создает диспетчер закреплений.
CDockingManager::D eterminePaneAndStatus Определяет область, содержащую заданную точку и его состояние док-станции.
CDockingManager::D isableRestoreDockState Включает или отключает загрузку макета док-станции из реестра.
CDockingManager::D ockPane Закрепление области на другой панели или в окне фрейма.
CDockingManager::D ockPaneLeftOf Закрепляет область слева от другой области.
CDockingManager::EnableAutoHidePanes Включает закрепление панели к главному кадру, создает панель док-станции и добавляет ее в список панелей управления.
CDockingManager::EnableDocking Создает панель док-станции и включает закрепление панели к главному кадру.
CDockingManager::EnableDockSiteMenu Отображает дополнительную кнопку, которая открывает всплывающее меню на подпись всех панелей док-станции.
CDockingManager::EnablePaneContextMenu Указывает библиотеке отображать специальное контекстное меню с списком панелей инструментов приложений и панелей док-станции, когда пользователь нажимает правую кнопку мыши и библиотека обрабатывает сообщение WM_CONTEXTMENU.
CDockingManager::FindDockSite Извлекает панель панели, которая находится в указанной позиции и имеет указанное выравнивание.
CDockingManager::FindDockSiteByPane Возвращает панель панели с идентификатором целевой панели.
CDockingManager::FindPaneByID Находит область по указанному идентификатору элемента управления.
CDockingManager::FixupVirtualRects Фиксирует все текущие позиции панели инструментов в виртуальных прямоугольниках.
CDockingManager::FrameFromPoint Возвращает кадр, содержащий заданную точку.
CDockingManager::GetClientAreaBounds Возвращает прямоугольник, содержащий границы клиентской области.
CDockingManager::GetDockingMode Возвращает текущий режим закрепления.
CDockingManager::GetDockSiteFrameWnd Возвращает указатель на родительский кадр окна.
CDockingManager::GetEnabledAutoHideAlignment Возвращает включенную выравнивание панелей.
CDockingManager::GetMiniFrames Возвращает список мини-кадров.
CDockingManager::GetOuterEdgeBounds Получает прямоугольник, содержащий внешние края кадра.
CDockingManager::GetPaneList Возвращает список панелей, принадлежащих диспетчеру закреплений. К ним относятся все с плавающей запятой.
CDockingManager::GetSmartDockingManager Извлекает указатель на интеллектуальный диспетчер закреплений.
CDockingManager::GetSmartDockingManagerPermanent Извлекает указатель на интеллектуальный диспетчер закреплений.
CDockingManager::GetSmartDockingParams Возвращает параметры интеллектуальной док-станции для диспетчера док-станций.
CDockingManager::GetSmartDockingTheme Статический метод, возвращающий тему, используемую для отображения маркеров интеллектуальной док-станции.
CDockingManager::HideAutoHidePanes Скрывает панель, которая находится в режиме автоматической разработки.
CDockingManager::InsertDockSite Создает панель док-станции и вставляет ее в список панелей управления.
CDockingManager::InsertPane Вставляет панель управления в список панелей элементов управления.
CDockingManager::IsDockSiteMenu Указывает, отображается ли всплывающее меню на подпись всех панелей.
CDockingManager::IsInAdjustLayout Определяет, корректируются ли макеты всех панелей.
CDockingManager::IsOLEContainerMode Указывает, находится ли диспетчер закреплений в режиме контейнера OLE.
CDockingManager::IsPointNearDockSite Определяет, находится ли указанная точка рядом с сайтом док-станции.
CDockingManager::IsPrintPreviewValid Определяет, установлен ли режим предварительного просмотра печати.
CDockingManager::LoadState Загружает состояние диспетчера док-станции из реестра.
CDockingManager::LockUpdate Блокирует заданное окно.
CDockingManager::OnActivateFrame Вызывается платформой, когда окно кадра активируется или деактивируется.
CDockingManager::OnClosePopupMenu Вызывается платформой, когда активное всплывающее меню обрабатывает сообщение WM_DESTROY.
CDockingManager::OnMoveMiniFrame Вызывается платформой для перемещения окна мини-кадра.
CDockingManager::OnPaneContextMenu Вызывается платформой при создании меню с списком панелей.
CDockingManager::P aneFromPoint Возвращает область, содержащую заданную точку.
CDockingManager::P rocessPaneContextMenuCommand Вызывается платформой для выбора или очистки поля проверка для указанной команды и перерасчет макета отображаемой панели.
CDockingManager::RecalcLayout Пересчитывает внутренний макет элементов управления, присутствующих в списке элементов управления.
CDockingManager::ReleaseEmptyPaneContainers Освобождает контейнеры пустой панели.
CDockingManager::RemoveHiddenMDITabbedBar Удаляет указанную скрытую панель панели.
CDockingManager::RemoveMiniFrame Удаляет указанный кадр из списка мини-кадров.
CDockingManager::RemovePaneFromDockManager Отменяет регистрацию области и удаляет ее из списка в диспетчере закреплений.
CDockingManager::ReplacePane Заменяет одну панель другой.
CDockingManager::ResortMiniFramesForZOrder Прибегает к кадрам в списке мини-кадров.
CDockingManager::SaveState Сохраняет состояние диспетчера закрепления в реестре.
CDockingManager::SendMessageToMiniFrames Отправляет указанное сообщение всем мини-кадрам.
CDockingManager::Serialize Записывает диспетчер закрепления в архив. (Переопределяет CObject::Serialize.)
CDockingManager::SetAutohideZOrder Задает размер, ширину и высоту панелей управления и указанной панели.
CDockingManager::SetDockingMode Задает режим док-станции.
CDockingManager::SetDockState Задает состояние закрепления панели управления, мини-кадры и панели автохитовки.
CDockingManager::SetPrintPreviewMode Задает режим предварительного просмотра печати полос, отображаемых в предварительном просмотре.
CDockingManager::SetSmartDockingParams Задает параметры, определяющие поведение интеллектуальной док-станции.
CDockingManager::ShowDelayShowMiniFrames Отображает или скрывает окна мини-кадров.
CDockingManager::ShowPanes Отображает или скрывает панели элементов управления и панели автохидентов.
CDockingManager::StartSDocking Запускает смарт-закрепление указанного окна в соответствии с выравниванием диспетчера интеллектуальной док-станции.
CDockingManager::StopSDocking Останавливает смарт-закрепление.

Элементы данных

Имя Описание
CDockingManager::m_bHideDockingBarsInContainerMode Указывает, скрывает ли диспетчер закреплений панели в режиме контейнера OLE.
CDockingManager::m_dockModeGlobal Задает глобальный режим док-станции.
CDockingManager::m_nDockSensitivity Указывает чувствительность к закреплению.
CDockingManager::m_nTimeOutBeforeDockingBarDock Указывает время в миллисекундах перед закреплением панели док-станции в режиме немедленной док-станции.
CDockingManager::m_nTimeOutBeforeToolBarDock Указывает время в миллисекундах перед закреплением панели инструментов к главного окна фрейма.

Замечания

Главное окно фрейма создает и инициализирует этот класс автоматически.

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

Класс CDockingManager реализует некоторые службы, которые можно использовать для поиска области или CPaneFrameWnd окна. Обычно эти службы не вызываются напрямую, так как они упаковываются в объект окна основного кадра. Дополнительные сведения см. в разделе CPaneFrameWnd Class.

Советы по настройке

Следующие советы применяются к CDockingManager объектам:

  • Класс CDockingManager поддерживает следующие режимы закрепления:

    • AFX_DOCK_TYPE::DT_IMMEDIATE

    • AFX_DOCK_TYPE::DT_STANDARD

    • AFX_DOCK_TYPE::DT_SMART

    Эти режимы закрепления определяются CDockingManager::m_dockModeGlobal и задаются путем вызова CDockingManager::SetDockingMode.

  • Если вы хотите создать не плавающую, неизменяемую область, вызовите метод CDockingManager::AddPane . Этот метод регистрирует панель в диспетчере закреплений, который отвечает за макет панели.

Пример

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

CDockingManager *pDockManager = GetDockingManager();
ASSERT_VALID(pDockManager);
pDockManager->AdjustPaneFrames();
pDockManager->EnableDockSiteMenu();
pDockManager->SetDockingMode(DT_STANDARD);

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

CObject

CDockingManager

Требования

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

CDockingManager::AddDockSite

Создает панель док-станции и добавляет ее в список панелей управления.

BOOL AddDockSite(
    const AFX_DOCKSITE_INFO& info,
    CDockSite** ppDockBar = NULL);

Параметры

info
[in] Ссылка на структуру сведений, содержащую выравнивание области док-станции.

ppDockBar
[out] Указатель на указатель на новую панель док-станции.

Возвращаемое значение

ЗНАЧЕНИЕ TRUE, если панель док-станции была создана успешно; Значение FALSE в противном случае.

CDockingManager::AddHiddenMDITabbedBar

Добавляет дескриптор на панель в список скрытых панелей на вкладках MDI.

void AddHiddenMDITabbedBar(CDockablePane* pBar);

Параметры

pBar
[in] Указатель на панель

CDockingManager::AddPane

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

BOOL AddPane(
    CBasePane* pWnd,
    BOOL bTail = TRUE,
    BOOL bAutoHide = FALSE,
    BOOL bInsertForOuterEdge = FALSE);

Параметры

pWnd
[in, out] Указывает область, добавляемую в диспетчер док-станций.

bTail
[in] True, чтобы добавить панель в конец списка панелей для диспетчера закреплений; в противном случае — ЗНАЧЕНИЕ FALSE.

bAutoHide
[in] Только для внутреннего использования. Всегда используйте значение FALSE по умолчанию.

bInsertForOuterEdge
[in] Только для внутреннего использования. Всегда используйте значение FALSE по умолчанию.

Возвращаемое значение

ЗНАЧЕНИЕ TRUE, если область успешно зарегистрирована в диспетчере закреплений; в противном случае — ЗНАЧЕНИЕ FALSE.

Замечания

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

CDockingManager::AdjustDockingLayout

Пересчитывает и настраивает макет всех панелей в окне фрейма.

virtual void AdjustDockingLayout(HDWP hdwp = NULL);

Параметры

hdwp
[in] Указывает структуру позиции отложенного окна. Дополнительные сведения см. в разделе Типы данных Windows.

Замечания

CDockingManager::AddMiniFrame

Добавляет кадр в список мини-кадров.

virtual BOOL AddMiniFrame(CPaneFrameWnd* pWnd);

Параметры

pWnd
[in] Указатель на кадр.

Возвращаемое значение

ЗНАЧЕНИЕ TRUE, если кадр не находится в списке мини-кадров и был успешно добавлен; Значение FALSE в противном случае.

CDockingManager::AdjustPaneFrames

Вызывает отправку сообщения WM_NCCALCSIZE на все панели и CPaneFrameWnd окна.

virtual void AdjustPaneFrames();

Замечания

CDockingManager::AdjustRectToClientArea

Настраивает выравнивание прямоугольника.

virtual BOOL AdjustRectToClientArea(
    CRect& rectResult,
    DWORD dwAlignment);

Параметры

rectResult
[in] Ссылка на CRect объект

dwAlignment
[in] Выравнивание CRect объекта

Возвращаемое значение

ЗНАЧЕНИЕ TRUE, если выравнивание CRect объекта было изменено; Значение FALSE в противном случае.

Замечания

Параметр dwAlignment может иметь одно из следующих значений:

  • CBRS_ALIGN_TOP

  • CBRS_ALIGN_BOTTOM

  • CBRS_ALIGN_LEFT

  • CBRS_ALIGN_RIGHT

CDockingManager::AlignAutoHidePane

Изменяет размер панели док-станции в режиме автоматической ориентации, чтобы она защищена полной шириной или высотой клиентской области кадра, окруженной сайтами док-станции.

void AlignAutoHidePane(
    CPaneDivider* pDefaultSlider,
    BOOL bIsVisible = TRUE);

Параметры

pDefaultSlider
[in] Область док-станции ползунка.

bIsVisible
[in] ЗНАЧЕНИЕ TRUE, если область док-станции видна; Значение FALSE в противном случае.

CDockingManager::AutoHidePane

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

CMFCAutoHideToolBar* AutoHidePane(
    CDockablePane* pBar,
    CMFCAutoHideToolBar* pCurrAutoHideToolBar = NULL);

Параметры

pBar
[in] Указатель на панель.

pCurrAutoHideToolBar
[in] Указатель на панель инструментов автоматического скрытия.

Возвращаемое значение

ЗНАЧЕНИЕ NULL, если панель инструментов автоматического скрытия не создана; в противном случае указатель на новую панель инструментов.

CDockingManager::BringBarsToTop

Приведет закрепленные полосы с заданным выравниванием к верхней части.

void BringBarsToTop(
    DWORD dwAlignment = 0,
    BOOL bExcludeDockedBars = TRUE);

Параметры

dwAlignment
[in] Выравнивание док-баров, которые привезены в верхнюю часть других окон.

bExcludeDockedBars
[in] Значение TRUE, чтобы исключить закрепленные полосы из наверх; в противном случае ЗНАЧЕНИЕ FALSE.

CDockingManager::BuildPanesMenu

Добавляет имена панелей док-станции и панелей инструментов в меню.

void BuildPanesMenu(
    CMenu& menu,
    BOOL bToolbarsOnly);

Параметры

меню
[in] Меню для добавления имен панелей док-станции и панелей инструментов.

bToolbarsOnly
[in] ЗНАЧЕНИЕ TRUE, чтобы добавить в меню только имена панелей инструментов; Значение FALSE в противном случае.

CDockingManager::CalcExpectedDockedRect

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

void CalcExpectedDockedRect(
    CWnd* pWnd,
    CPoint ptMouse,
    CRect& rectResult,
    BOOL& bDrawTab,
    CDockablePane** ppTargetBar);

Параметры

pWnd
[in] Указатель на окно для закрепления.

ptMouse
[in] Расположение мыши.

rectResult
[out] Вычисляемый прямоугольник.

bDrawTab
[in] ЗНАЧЕНИЕ TRUE для рисования вкладки; в противном случае ЗНАЧЕНИЕ FALSE.

ppTargetBar
[out] Указатель на указатель на целевую область.

Замечания

Этот метод вычисляет прямоугольник, который будет занимать окно, если пользователь перетаскивал окно в точку, указанную ptMouse , и закрепил его там.

CDockingManager::Create

Создает диспетчер закреплений.

BOOL Create(CFrameWnd* pParentWnd);

Параметры

pParentWnd
[in] Указатель на родительский кадр диспетчера закреплений. Это значение не должно иметь значение NULL.

Возвращаемое значение

TRUE всегда.

CDockingManager::D eterminePaneAndStatus

Определяет область, содержащую заданную точку и его состояние док-станции.

virtual AFX_CS_STATUS DeterminePaneAndStatus(
    CPoint pt,
    int nSensitivity,
    DWORD dwEnabledAlignment,
    CBasePane** ppTargetBar,
    const CBasePane* pBarToIgnore,
    const CBasePane* pBarToDock);

Параметры

пт
[in] Расположение области для проверка.

nSensitivity
[in] Значение для увеличения прямоугольника окна для каждой проверка области. Область удовлетворяет критериям поиска, если указанная точка находится в этом увеличенном регионе.

dwEnabledAlignment
[in] Выравнивание области закрепления.

ppTargetBar
[out] Указатель на указатель на целевую область.

pBarToIgnore
[in] Область, которую игнорирует метод.

pBarToDock
[in] Панель, закрепленная.

Возвращаемое значение

Состояние док-станции.

Замечания

Состояние закрепления может быть одним из следующих значений:

значение AFX_CS_STATUS Значение
CS_NOTHING Указатель не находится на сайте док-станции. Таким образом, сохраняйте плавающую область.
CS_DOCK_IMMEDIATELY Указатель находится на сайте док-станции в режиме немедленной передачи (DT_IMMEDIATE стиле включен), поэтому панель должна быть закреплена немедленно.
CS_DELAY_DOCK Указатель находится на сайте док-станции, которая является другой областью док-станции или является краем основного кадра.
CS_DELAY_DOCK_TO_TAB Указатель находится на сайте док-станции, что приводит к закреплению панели в окне с вкладками. Это происходит, когда мышь переключится на подпись другой панели закрепления или по области вкладок на вкладке.

CDockingManager::D isableRestoreDockState

Включает или отключает загрузку макета док-станции из реестра.

void DisableRestoreDockState(BOOL bDisable = TRUE);

Параметры

bDisable
[in] ЗНАЧЕНИЕ TRUE, чтобы отключить загрузку макета док-станции из реестра; в противном случае — ЗНАЧЕНИЕ FALSE.

Замечания

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

CDockingManager::D ockPane

Закрепление области на другой панели или в окне фрейма.

void DockPane(
    CBasePane* pBar,
    UINT nDockBarID = 0,
    LPCRECT lpRect = NULL);

Параметры

pBar
[in] Указатель на панель панели для закрепления.

nDockBarID
[in] Идентификатор панели для закрепления.

lpRect
[in] Прямоугольник назначения.

CDockingManager::D ockPaneLeftOf

Закрепляет область слева от другой области.

BOOL DockPaneLeftOf(
    CPane* pBarToDock,
    CPane* pTargetBar);

Параметры

pBarToDock
[in] Указатель на панель, на который необходимо закрепить слева от pTargetBar.

pTargetBar
[in] Указатель на целевую область.

Возвращаемое значение

ЗНАЧЕНИЕ TRUE, если панель была успешно закреплена; в противном случае — ЗНАЧЕНИЕ FALSE.

CDockingManager::EnableAutoHidePanes

Включает закрепление панели к главному кадру, создает панель док-станции и добавляет ее в список панелей управления.

BOOL EnableAutoHidePanes(DWORD dwStyle);

Параметры

dwStyle
[in] Выравнивание прикрепления.

Возвращаемое значение

ЗНАЧЕНИЕ TRUE, если панель док-станции была создана успешно; Значение FALSE в противном случае.

CDockingManager::EnableDocking

Создает панель док-станции и включает закрепление панели к главному кадру.

BOOL EnableDocking(DWORD dwStyle);

Параметры

dwStyle
[in] Выравнивание прикрепления.

Возвращаемое значение

ЗНАЧЕНИЕ TRUE, если панель док-станции была создана успешно; Значение FALSE в противном случае.

CDockingManager::EnableDockSiteMenu

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

static void EnableDockSiteMenu(BOOL bEnable = TRUE);

Параметры

bEnable
[in] ЗНАЧЕНИЕ TRUE, чтобы включить меню сайта док-станции; в противном случае — ЗНАЧЕНИЕ FALSE.

Замечания

В меню сайта док-станции отображаются следующие параметры для изменения состояния док-станции панели:

  • Floating — Плавает область

  • Docking — Закрепление области в главном кадре в расположении, где последняя панель была закреплена.

  • AutoHide — переключает панель в режим автохиденты

  • Hide — скрытие области

По умолчанию это меню не отображается.

CDockingManager::EnablePaneContextMenu

Указывает библиотеке отображать специальное контекстное меню с списком панелей инструментов приложений и панелей док-станции, когда пользователь нажимает правую кнопку мыши и библиотека обрабатывает сообщение WM_CONTEXTMENU.

void EnablePaneContextMenu(
    BOOL bEnable,
    UINT uiCustomizeCmd,
    const CString& strCustomizeText,
    BOOL bToolbarsOnly = FALSE);

Параметры

bEnable
[in] Если значение TRUE, библиотека включает поддержку автоматического контекстного меню; Значение FALSE, если библиотека отключает поддержку автоматического контекстного меню.

uiCustomizeCmd
[in] Идентификатор команды для элемента настройки в меню.

strCustomizeText
[in] Текст элемента настройки .

bToolbarsOnly
[in] Если значение TRUE, в меню отображается только список панелей инструментов приложений; Если значение FALSE, библиотека добавляет области док-станции приложений в этот список.

CDockingManager::FindDockSite

Извлекает панель панели, которая находится в указанной позиции и имеет указанное выравнивание.

virtual CDockSite* FindDockSite(
    DWORD dwAlignment,
    BOOL bOuter);

Параметры

dwAlignment
[in] Выравнивание панели панели.

bOuter
[in] Если значение TRUE, получите панель в позиции головы в списке элементов управления. В противном случае получите панель в позиции хвоста в списке полос управления.

Возвращаемое значение

Панель док-станции, которая имеет указанное выравнивание; Значение NULL в противном случае.

CDockingManager::FindPaneByID

Находит область по указанному идентификатору элемента управления.

virtual CBasePane* FindPaneByID(
    UINT uBarID,
    BOOL bSearchMiniFrames = FALSE);

Параметры

uBarID
[in] Указывает идентификатор элемента управления области для поиска.

bSearchMiniFrames
[in] Значение TRUE для включения всех плавающих панелей в поиск. Значение FALSE для включения только закрепленных панелей.

Возвращаемое значение

Объект CBasePane с указанным идентификатором элемента управления или NULL, если указанная область не найдена.

Замечания

CDockingManager::FindDockSiteByPane

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

virtual CDockSite* FindDockSiteByPane(CPane* pTargetBar);

Параметры

pTargetBar
[in] Указатель на целевую панель панели.

Возвращаемое значение

Панель панели с идентификатором целевой панели. ЗНАЧЕНИЕ NULL, если такая панель не существует.

CDockingManager::FixupVirtualRects

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

virtual void FixupVirtualRects();

Замечания

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

CDockingManager::FrameFromPoint

Возвращает кадр, содержащий заданную точку.

virtual CPaneFrameWnd* FrameFromPoint(
    CPoint pt,
    CPaneFrameWnd* pFrameToExclude,
    BOOL bFloatMultiOnly) const;

Параметры

пт
[in] Указывает точку в координатах экрана для проверка.

pFrameToExclude
[in] Указатель на кадр, который требуется исключить.

bFloatMultiOnly
[in] ЗНАЧЕНИЕ TRUE, чтобы исключить кадры, которые не являются экземплярами CMultiPaneFrameWnd; Значение FALSE в противном случае.

Возвращаемое значение

Кадр, содержащий заданную точку; Значение NULL в противном случае.

CDockingManager::GetClientAreaBounds

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

CRect GetClientAreaBounds() const;

void GetClientAreaBounds(CRect& rcClient);

Параметры

rcClient
[out] Ссылка на прямоугольник, содержащий границы клиентской области.

Возвращаемое значение

Прямоугольник, содержащий границы клиентской области.

CDockingManager::GetDockingMode

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

static AFX_DOCK_TYPE GetDockingMode();

Возвращаемое значение

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

  • DT_STANDARD

  • DT_IMMEDIATE

  • DT_SMART

Замечания

Чтобы задать режим док-станции, вызовите CDockingManager::SetDockingMode.

CDockingManager::GetDockSiteFrameWnd

Возвращает указатель на родительский кадр окна.

CFrameWnd* GetDockSiteFrameWnd() const;

Возвращаемое значение

Указатель на родительский кадр окна.

CDockingManager::GetEnabledAutoHideAlignment

Возвращает включенную выравнивание панелей.

DWORD GetEnabledAutoHideAlignment() const;

Возвращаемое значение

Побитовое сочетание флагов CBRS_ALIGN_ или 0, если панели автохиды не включены. Дополнительные сведения см. в разделе CFrameWnd::EnableDocking.

Замечания

Метод возвращает включенную выравнивание для полос управления автохидентами. Чтобы включить полосы автохиды, вызовите CFrameWndEx::EnableAutoHidePanes.

CDockingManager::GetMiniFrames

Возвращает список мини-кадров.

const CObList& GetMiniFrames() const;

Возвращаемое значение

Список мини-кадров, содержащих панели управления, принадлежащие диспетчеру закреплений.

CDockingManager::GetOuterEdgeBounds

Получает прямоугольник, содержащий внешние края кадра.

CRect GetOuterEdgeBounds() const;

Возвращаемое значение

Прямоугольник, содержащий внешние края кадра.

CDockingManager::GetPaneList

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

void GetPaneList(
    CObList& lstBars,
    BOOL bIncludeAutohide = FALSE,
    CRuntimeClass* pRTCFilter = NULL,
    BOOL bIncludeTabs = FALSE);

Параметры

lstBars
[in, out] Содержит все панели текущего диспетчера закреплений.

bIncludeAutohide
[in] ЗНАЧЕНИЕ TRUE для включения панелей, которые находятся в режиме автоматической ide; в противном случае — ЗНАЧЕНИЕ FALSE.

pRTCFilter
[in] Если не значение NULL, возвращаемый список содержит области только указанного класса среды выполнения.

bIncludeTabs
[in] ЗНАЧЕНИЕ TRUE для включения вкладок; в противном случае — ЗНАЧЕНИЕ FALSE.

Замечания

Если в диспетчере закреплений есть какие-либо области с вкладками, метод возвращает указатели на объекты класса CBaseTabbedPane, и необходимо явно перечислить вкладки.

Используйте pRTCFilter для получения определенного класса панелей. Например, можно получить только панели инструментов, задав это значение соответствующим образом.

CDockingManager::GetSmartDockingManager

Извлекает указатель на интеллектуальный диспетчер закреплений.

CSmartDockingManager* GetSmartDockingManager();

Возвращаемое значение

Указатель на умный диспетчер закреплений.

CDockingManager::GetSmartDockingManagerPermanent

Извлекает указатель на интеллектуальный диспетчер закреплений.

CSmartDockingManager* GetSmartDockingManagerPermanent() const;

Возвращаемое значение

Указатель на умный диспетчер закреплений.

CDockingManager::GetSmartDockingParams

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

static CSmartDockingInfo& GetSmartDockingParams();

Возвращаемое значение

Класс, содержащий параметры интеллектуальной док-станции для текущего диспетчера закреплений. Дополнительные сведения см. в разделе "Класс CSmartDockingInfo".

Замечания

CDockingManager::HideAutoHidePanes

Скрывает панель, которая находится в режиме автоматической разработки.

void HideAutoHidePanes(
    CDockablePane* pBarToExclude = NULL,
    BOOL bImmediately = FALSE);

Параметры

pBarToExclude
[in] Указатель на панель, чтобы исключить из скрытия.

bImmediately
[in] ЗНАЧЕНИЕ TRUE, чтобы скрыть панель немедленно; Значение FALSE для скрытия области с помощью эффекта автохиды.

CDockingManager::InsertDockSite

Создает панель док-станции и вставляет ее в список панелей управления.

BOOL InsertDockSite(
    const AFX_DOCKSITE_INFO& info,
    DWORD dwAlignToInsertAfter,
    CDockSite** ppDockBar = NULL);

Параметры

info
[in] Структура, содержащая сведения о выравнивании области док-станции.

dwAlignToInsertAfter
[in] Выравнивание области док-станции.

ppDockBar
[out] Указатель на указатель на панель док-станции.

Возвращаемое значение

ЗНАЧЕНИЕ TRUE, если панель док-станции была создана успешно; Значение FALSE в противном случае.

CDockingManager::InsertPane

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

BOOL InsertPane(
    CBasePane* pControlBar,
    CBasePane* pTarget,
    BOOL bAfter = TRUE);

Параметры

pControlBar
[in] Указатель на панель управления.

pTarget
[in] Указатель на целевую область.

bAfter
[in] ЗНАЧЕНИЕ TRUE, чтобы вставить панель после положения целевой панели; Значение FALSE в противном случае.

Возвращаемое значение

ЗНАЧЕНИЕ TRUE, если панель управления успешно добавлена в список панелей управления; Значение FALSE в противном случае.

Замечания

Этот метод возвращает значение false, если панель управления уже находится в списке панелей управления или если целевая панель не существует в списке панелей управления.

CDockingManager::IsDockSiteMenu

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

static BOOL IsDockSiteMenu();

Возвращаемое значение

Значение TRUE, если меню сайта док-станции отображается на подпись всех панелей док-станции; в противном случае — ЗНАЧЕНИЕ FALSE.

Замечания

Вы можете включить меню сайта док-станции, вызвав CDockingManager::EnableDockSiteMenu.

CDockingManager::IsInAdjustLayout

Определяет, корректируются ли макеты всех панелей.

BOOL IsInAdjustLayout() const;

Возвращаемое значение

ЗНАЧЕНИЕ TRUE, если макеты всех панелей корректируются; Значение FALSE в противном случае.

CDockingManager::IsOLEContainerMode

Указывает, находится ли диспетчер закреплений в режиме контейнера OLE.

BOOL IsOLEContainerMode() const;

Возвращаемое значение

ЗНАЧЕНИЕ TRUE, если диспетчер закреплений находится в режиме контейнера OLE; в противном случае — ЗНАЧЕНИЕ FALSE.

Замечания

В режиме контейнера OLE все панели закрепления и панели инструментов приложений скрыты. Панели также скрыты в этом режиме, если для параметра CDockingManager::m_bHideDockingBarsInContainerMode значение TRUE.

CDockingManager::IsPointNearDockSite

Определяет, находится ли указанная точка рядом с сайтом док-станции.

BOOL IsPointNearDockSite(
    CPoint point,
    DWORD& dwBarAlignment,
    BOOL& bOuterEdge) const;

Параметры

point
[in] Указанная точка.

dwBarAlignment
[out] Указывает, какой край находится рядом. Возможные значения: CBRS_ALIGN_LEFT, CBRS_ALIGN_RIGHT, CBRS_ALIGN_TOP и CBRS_ALIGN_BOTTOM.

bOuterEdge
[out] ЗНАЧЕНИЕ TRUE, если точка находится вблизи внешней границы док-сайта; Значение FALSE в противном случае.

Возвращаемое значение

ЗНАЧЕНИЕ TRUE, если точка находится рядом с сайтом док-станции; в противном случае ЗНАЧЕНИЕ FALSE.

CDockingManager::IsPrintPreviewValid

Определяет, установлен ли режим предварительного просмотра печати.

BOOL IsPrintPreviewValid() const;

Возвращаемое значение

ЗНАЧЕНИЕ TRUE, если установлен режим предварительного просмотра печати; Значение FALSE в противном случае.

CDockingManager::LoadState

Загружает состояние диспетчера док-станции из реестра.

virtual BOOL LoadState(
    LPCTSTR lpszProfileName = NULL,
    UINT uiID = (UINT) -1);

Параметры

lpszProfileName
[in] Имя профиля.

uiID
[in] Идентификатор диспетчера закреплений.

Возвращаемое значение

ЗНАЧЕНИЕ TRUE, если состояние диспетчера док-станции успешно загружено; в противном случае ЗНАЧЕНИЕ FALSE.

CDockingManager::LockUpdate

Блокирует заданное окно.

void LockUpdate(BOOL bLock);

Параметры

Блок
[in] ЗНАЧЕНИЕ TRUE, если окно заблокировано; Значение FALSE в противном случае.

Замечания

Если окно заблокировано, его нельзя переместить, и его невозможно перезапустить.

CDockingManager::m_bHideDockingBarsInContainerMode

Указывает, скрывает ли диспетчер закреплений панели в режиме контейнера OLE.

AFX_IMPORT_DATA static BOOL m_bHideDockingBarsInContainerMode;

Замечания

Задайте для этого значения значение FALSE, если вы хотите сохранить все панели, закрепленные в главном кадре, видимым, когда приложение находится в режиме контейнера OLE. По умолчанию это значение равно TRUE.

CDockingManager::m_dockModeGlobal

Задает глобальный режим док-станции.

AFX_IMPORT_DATA static AFX_DOCK_TYPE m_dockModeGlobal;

Замечания

По умолчанию каждая панель закрепления использует этот режим док-станции. Дополнительные сведения о значениях, которые можно задать для этого поля, см. в разделе CBasePane::GetDockingMode.

CDockingManager::m_nDockSensitivity

Указывает чувствительность к закреплению.

AFX_IMPORT_DATA static int m_nDockSensitivity;

Замечания

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

CDockingManager::m_nTimeOutBeforeDockingBarDock

Указывает время в миллисекундах перед закреплением панели док-станции в режиме немедленной док-станции.

static UINT m_nTimeOutBeforeDockingBarDock;

Замечания

Перед закреплением области платформа ожидает указанного периода времени. Это предотвращает случайное закрепление области в расположении, пока пользователь по-прежнему перетаскивает его.

CDockingManager::m_nTimeOutBeforeToolBarDock

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

static UINT m_nTimeOutBeforeToolBarDock;

Замечания

Перед закреплением панели инструментов платформа ожидает указанного времени. Это предотвращает случайное закрепление панели инструментов в расположении, пока пользователь по-прежнему перетаскивает его.

CDockingManager::OnActivateFrame

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

virtual void OnActivateFrame(BOOL bActivate);

Параметры

bActivate
[in] Если значение TRUE, окно фрейма активируется; Значение FALSE, окно кадра деактивируется.

CDockingManager::OnClosePopupMenu

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

void OnClosePopupMenu();

Замечания

Платформа отправляет сообщение WM_DESTROY при закрытии текущего главного окна. Переопределите этот метод для обработки уведомлений от CMFCPopupMenu объектов, принадлежащих окну кадра, когда CMFCPopupMenu объект обрабатывает сообщение WM_DESTROY.

CDockingManager::OnMoveMiniFrame

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

virtual BOOL OnMoveMiniFrame(CWnd* pFrame);

Параметры

pFrame
[in] Указатель на окно мини-кадра.

Возвращаемое значение

ЗНАЧЕНИЕ TRUE, если метод успешно выполнен; в противном случае ЗНАЧЕНИЕ FALSE.

CDockingManager::OnPaneContextMenu

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

void OnPaneContextMenu(CPoint point);

Параметры

point
[in] Указывает расположение меню.

CDockingManager::P aneFromPoint

Возвращает область, содержащую заданную точку.

virtual CBasePane* PaneFromPoint(
    CPoint point,
    int nSensitivity,
    bool bExactBar = false,
    CRuntimeClass* pRTCBarType = NULL,
    BOOL bCheckVisibility = FALSE,
    const CBasePane* pBarToIgnore = NULL) const;

virtual CBasePane* PaneFromPoint(
    CPoint point,
    int nSensitivity,
    DWORD& dwAlignment,
    CRuntimeClass* pRTCBarType = NULL,
    const CBasePane* pBarToIgnore = NULL) const;

Параметры

point
[in] Указывает точку в координатах экрана для проверка.

nSensitivity
[in] Значение для раздувания прямоугольника окна для каждой проверка области. Панель удовлетворяет критериям поиска, если указанная точка находится в этом раздувленном регионе.

bExactBar
[in] Значение TRUE, чтобы игнорировать параметр nSensitivity ; в противном случае — ЗНАЧЕНИЕ FALSE.

pRTCBarType
[in] Если этот метод не имеет значения NULL, метод выполняет поиск только на панелях указанного типа.

bCheckVisibility
[in] ЗНАЧЕНИЕ TRUE для проверка только видимых областей; в противном случае — ЗНАЧЕНИЕ FALSE.

dwAlignment
[out] Если область найдена в указанной точке, этот параметр содержит сторону панели, которая была ближе всего к указанной точке. Дополнительные сведения см. в разделе с примечаниями.

pBarToIgnore
[in] Если этот параметр не имеет значения NULL, метод игнорирует области, указанные этим параметром.

Возвращаемое значение

Производный от CBasePane объект, содержащий указанную точку или ЗНАЧЕНИЕ NULL, если панель не найдена.

Замечания

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

CDockingManager::P rocessPaneContextMenuCommand

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

BOOL ProcessPaneContextMenuCommand(
    UINT nID,
    int nCode,
    void* pExtra,
    AFX_CMDHANDLERINFO* pHandlerInfo);

Параметры

Nid
[in] Идентификатор панели управления в меню.

nCode
[in] Код уведомления команды.

pExtra
[in] Указатель на пустоту, приведение к указателю CCmdUI , если nCode CN_UPDATE_COMMAND_UI.

pHandlerInfo
[in] Указатель на структуру сведений. Этот параметр не используется.

Возвращаемое значение

ЗНАЧЕНИЕ TRUE, если pEXtra не имеет значения NULL, а nCode равно CN_UPDATE_COMMAND_UI или если имеется панель управления с указанным nID.

CDockingManager::RecalcLayout

Пересчитывает внутренний макет элементов управления, присутствующих в списке элементов управления.

virtual void RecalcLayout(BOOL bNotify = TRUE);

Параметры

bNotify
[in] Этот параметр не используется.

CDockingManager::ReleaseEmptyPaneContainers

Освобождает контейнеры пустой панели.

void ReleaseEmptyPaneContainers();

CDockingManager::RemoveHiddenMDITabbedBar

Удаляет указанную скрытую панель панели.

void RemoveHiddenMDITabbedBar(CDockablePane* pBar);

Параметры

pBar
[in] Указатель на панель для удаления.

CDockingManager::RemoveMiniFrame

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

virtual BOOL RemoveMiniFrame(CPaneFrameWnd* pWnd);

Параметры

pWnd
[in] Указатель на кадр для удаления.

Возвращаемое значение

ЗНАЧЕНИЕ TRUE, если указанный кадр удален; Значение FALSE в противном случае.

CDockingManager::RemovePaneFromDockManager

Отменяет регистрацию области и удаляет ее из списка в диспетчере закреплений.

void RemovePaneFromDockManager(
    CBasePane* pWnd,
    BOOL bDestroy,
    BOOL bAdjustLayout,
    BOOL bAutoHide = FALSE,
    CBasePane* pBarReplacement = NULL);

Параметры

pWnd
[in] Указатель на область для удаления.

bDesk
[in] Если значение TRUE, удаленная панель будет уничтожена.

bAdjustLayout
[in] Если значение TRUE, измените макет док-станции немедленно.

bAutoHide
[in] Если значение TRUE, панель удаляется из списка панелей автохидентов. Если значение FALSE, панель удаляется из списка регулярных панелей.

pBarReplacement
[in] Указатель на панель, которая заменяет удаленную панель.

CDockingManager::ReplacePane

Заменяет одну панель другой.

BOOL ReplacePane(
    CDockablePane* pOriginalBar,
    CDockablePane* pNewBar);

Параметры

pOriginalBar
[in] Указатель на исходную панель.

pNewBar
[in] Указатель на панель, которая заменяет исходную панель.

Возвращаемое значение

ЗНАЧЕНИЕ TRUE, если панель успешно заменена; Значение FALSE в противном случае.

CDockingManager::ResortMiniFramesForZOrder

Прибегает к кадрам в списке мини-кадров.

void ResortMiniFramesForZOrder();

CDockingManager::SaveState

Сохраняет состояние диспетчера закрепления в реестре.

virtual BOOL SaveState(
    LPCTSTR lpszProfileName = NULL,
    UINT uiID = (UINT) -1);

Параметры

lpszProfileName
[in] Путь к разделу реестра.

uiID
[in] Идентификатор диспетчера закрепления.

Возвращаемое значение

ЗНАЧЕНИЕ TRUE, если состояние было успешно сохранено; в противном случае ЗНАЧЕНИЕ FALSE.

Замечания

Сохранение состояния диспетчера док-станции в реестр включает сохранение состояний панели управления, состояний полос автохидентов и состояний мини-кадров, присутствующих в диспетчере закреплений.

CDockingManager::SendMessageToMiniFrames

Отправляет указанное сообщение всем мини-кадрам.

BOOL SendMessageToMiniFrames(
    UINT uMessage,
    WPARAM wParam = 0,
    LPARAM lParam = 0);

Параметры

uMessage
[in] Отправленное сообщение.

wParam
[in] Дополнительные сведения о зависимых сообщениях.

lParam
[in] Дополнительные сведения о зависимых сообщениях.

Возвращаемое значение

TRUE всегда.

CDockingManager::Serialize

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

void Serialize(CArchive& ar);

Параметры

Ar
[in] Ссылка на архивный объект.

Замечания

Написание диспетчера закреплений в архив включает определение количества док-панели управления и ползунков, а также запись панели управления, мини-кадры, полосы автохитовки и полосы с вкладками MDI в архив.

CDockingManager::SetAutohideZOrder

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

void SetAutohideZOrder(CDockablePane* pAHDockingBar);

Параметры

pAHDockingBar
[in] Указатель на закрепленную панель.

CDockingManager::SetDockingMode

Задает режим док-станции.

static void SetDockingMode(
    AFX_DOCK_TYPE dockMode,
    AFX_SMARTDOCK_THEME theme = AFX_SDT_DEFAULT);

Параметры

dockMode
Задает новый режим док-станции. Дополнительные сведения см. в разделе с примечаниями.

Тема
Указывает тему, используемую для смарт-закреплений маркеров. Это может быть одно из следующих перечисленных значений: AFX_SDT_DEFAULT, AFX_SDT_VS2005, AFX_SDT_VS2008.

Замечания

Вызовите этот статический метод, чтобы задать режим док-станции.

DockMode может быть одним из следующих значений:

  • DT_STANDARD — стандартный режим док-станции, реализованный в Visual Studio .NET 2003. Области перетаскиваются без перетаскивания контекста.

  • DT_IMMEDIATE — режим немедленной док-станции, реализованный в Microsoft Visio. Области перетаскиваются с контекстом перетаскивания, но маркеры не отображаются.

  • DT_SMART — режим интеллектуальной док-станции, реализованный в Visual Studio 2005. Области перетаскиваются с помощью контекста перетаскивания и смарт-маркеров отображаются, показывающие, где можно закрепить панель.

CDockingManager::SetDockState

Задает состояние закрепления панели управления, мини-кадры и панели автохитовки.

virtual void SetDockState();

CDockingManager::SetPrintPreviewMode

Задает режим предварительного просмотра печати полос, отображаемых в предварительном просмотре.

void SetPrintPreviewMode(
    BOOL bPreview,
    CPrintPreviewState* pState);

Параметры

bPreview
[in] ЗНАЧЕНИЕ TRUE, если установлен режим предварительного просмотра печати; Значение FALSE в противном случае.

pState
[in] Указатель на состояние предварительной версии. Этот параметр не используется.

CDockingManager::SetSmartDockingParams

Задает параметры, определяющие поведение интеллектуальной док-станции.

static void SetSmartDockingParams(CSmartDockingInfo& params);

Параметры

params
[in, out] Определяет параметры интеллектуальной док-станции.

Замечания

Вызовите этот метод, если вы хотите настроить внешний вид, цвет или форму смарт-закреплений маркеров.

Чтобы использовать стандартный поиск маркеров смарт-закреплений , передайте неинициализированный экземпляр класса CSmartDockingInfo в params.

CDockingManager::ShowDelayShowMiniFrames

Отображает или скрывает окна мини-кадров.

void ShowDelayShowMiniFrames(BOOL bshow);

Параметры

bShow
[in] ЗНАЧЕНИЕ TRUE, чтобы сделать окно отображаемого кадра активным; Значение FALSE для скрытия окна кадра.

CDockingManager::ShowPanes

Отображает или скрывает панели элементов управления и панели автохидентов.

virtual BOOL ShowPanes(BOOL bShow);

Параметры

bShow
[in] ЗНАЧЕНИЕ TRUE для отображения панелей; Значение FALSE для скрытия панелей.

Возвращаемое значение

Всегда FALSE.

CDockingManager::StartSDocking

Запускает смарт-закрепление указанного окна в соответствии с выравниванием диспетчера интеллектуальной док-станции.

void StartSDocking(CWnd* pDockingWnd);

Параметры

pDockingWnd
[in] Указатель на окно для закрепления.

CDockingManager::StopSDocking

Останавливает смарт-закрепление.

void StopSDocking();

CDockingManager::GetSmartDockingTheme

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

static AFX_SMARTDOCK_THEME __stdcall GetSmartDockingTheme();

Возвращаемое значение

Возвращает одно из следующих перечисленных значений: AFX_SDT_DEFAULT, AFX_SDT_VS2005, AFX_SDT_VS2008.

Замечания

См. также

Диаграмма иерархии
Классы
Класс CObject
Класс CFrameWndEx
Класс CDockablePane
Класс CPaneFrameWnd