Класс 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);
Иерархия наследования
Требования
Заголовок: 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);
Параметры
ар
[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