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


Класс CDockablePane

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

Синтаксис

class CDockablePane : public CPane

Члены

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

Имя Описание
CDockablePane::CDockablePane Создает и инициализирует объект CDockablePane.

Общедоступные методы

Имя Описание
CDockablePane::AttachToTabWnd Присоединяет область к другой области. При этом создается панель табуляции.
CDockablePane::CalcFixedLayout Возвращает размер прямоугольника панели.
CDockablePane::CanAcceptMiniFrame Определяет, можно ли закрепить указанный мини-кадр на панели.
CDockablePane::CanAcceptPane Определяет, можно ли закрепить другую панель на текущей панели.
CDockablePane::CanAutoHide Определяет, поддерживает ли панель режим автоматического скрытия. (Переопределяет CBasePane::CanAutoHide.)
CDockablePane::CanBeAttached Определяет, можно ли закрепить текущую панель на другой панели.
CDockablePane::ConvertToTabbedDocument Преобразует одну или несколько док-панелей в документы с вкладками MDI.
CDockablePane::CopyState Копирует состояние панели закрепления.
CDockablePane::Create Создает элемент управления Windows и присоединяет его к объекту CDockablePane.
CDockablePane::CreateDefaultPaneDivider Создает разделитель по умолчанию для области при закреплении к окну кадра.
CDockablePane::CreateEx Создает элемент управления Windows и присоединяет его к объекту CDockablePane.
CDockablePane::CreateTabbedPane Создает панель табуляции из текущей области.
CDockablePane::DockPaneContainer Закрепление контейнера на панели.
CDockablePane::DockPaneStandard Закрепление области с помощью закрепления структуры (стандартного).
CDockablePane::DockToFrameWindow Используется внутри системы. Чтобы закрепить панель, используйте CPane::DockPane или CDockablePane::DockToWindow.
CDockablePane::DockToRecentPos Прикрепляет панель к его сохраненной позиции док-станции.
CDockablePane::DockToWindow Закрепление одной панели док-станции к другой области док-станции.
CDockablePane::EnableAutohideAll Включает или отключает режим автоматического скрытия для этой области вместе с другими панелями в контейнере.
CDockablePane::EnableGripper Отображает или скрывает подпись (захват).
CDockablePane::GetAHRestoredRect Указывает позицию панели при отображении в режиме автоматического скрытия.
CDockablePane::GetAHSlideMode Извлекает режим автоматического скрытия слайдов для области.
CDockablePane::GetAutoHideButton Используется внутри системы.
CDockablePane::GetAutoHideToolBar Используется внутри системы.
CDockablePane::GetCaptionHeight Возвращает высоту текущего заголовка.
CDockablePane::GetDefaultPaneDivider Возвращает разделитель области по умолчанию для контейнера области.
CDockablePane::GetDockingStatus Определяет возможность закрепления панели на основе предоставленного расположения указателя.
CDockablePane::GetDragSensitivity Возвращает чувствительность перетаскивания области закрепления.
CDockablePane::GetLastPercentInPaneContainer Извлекает процент пространства, занимаемого областью в контейнере.
CDockablePane::GetTabArea Извлекает область вкладок для области.
CDockablePane::GetTabbedPaneRTC Возвращает сведения о классе среды выполнения о окне табуляции, созданном при закреплении другой панели на текущей панели.
CDockablePane::HasAutoHideMode Указывает, можно ли переключить панель закрепления в режим автоматического скрытия.
CDockablePane::HitTest Указывает конкретное расположение в области, в которой пользователь щелкает мышь.
CDockablePane::IsAccessibilityCompatible Используется внутри системы.
CDockablePane::IsAutohideAllEnabled Указывает, можно ли разместить панель док-станции и все остальные панели в контейнере в режиме автоматического скрытия.
CDockablePane::IsAutoHideMode Определяет, находится ли панель в режиме автоматического скрытия.
CDockablePane::IsChangeState Используется внутри системы.
CDockablePane::IsDocked Определяет, закреплена ли текущая панель.
CDockablePane::IsHideInAutoHideMode Определяет поведение панели, которая находится в режиме автоматического скрытия, если она отображается (или скрыта), вызывая ShowPane.
CDockablePane::IsInFloatingMultiPaneFrameWnd Указывает, находится ли панель в окне кадров с несколькими панелями.
CDockablePane::IsResizable Указывает, является ли область измененной.
CDockablePane::IsTabLocationBottom Указывает, расположены ли вкладки в верхней или нижней части области.
CDockablePane::IsTracked Указывает, перетаскивается ли область пользователем.
CDockablePane::IsVisible Определяет, отображается ли текущая панель.
CDockablePane::LoadState Используется внутри системы.
CDockablePane::OnAfterChangeParent Вызывается платформой при изменении родительского элемента панели. (Переопределяет CPane::OnAfterChangeParent.)
CDockablePane::OnAfterDockFromMiniFrame Вызывается платформой при закреплении с плавающей закрепления панели в окне фрейма.
CDockablePane::OnBeforeChangeParent Вызывается платформой, когда родитель панели будет меняться. (Переопределяет CPane::OnBeforeChangeParent.)
CDockablePane::OnBeforeFloat Вызывается платформой, когда область будет плавать. (Переопределяет CPane::OnBeforeFloat.)
CDockablePane::RemoveFromDefaultPaneDividier Платформа вызывает этот метод, когда область открепится.
CDockablePane::ReplacePane Заменяет область указанной областью.
CDockablePane::RestoreDefaultPaneDivider Платформа вызывает этот метод в виде области десериализации для восстановления разделителя области по умолчанию.
CDockablePane::SaveState Используется внутри системы.
CDockablePane::Serialize Сериализует область. (Переопределяет CBasePane::Serialize.)
CDockablePane::SetAutoHideMode Переключение области закрепления между видимым и автоматическим режимом скрытия.
CDockablePane::SetAutoHideParents Задает кнопку автоматического скрытия и панель инструментов автоматического скрытия для области.
CDockablePane::SetDefaultPaneDivider Используется внутри системы.
CDockablePane::SetLastPercentInPaneContainer Задает процент пространства, занимаемого областью в контейнере.
CDockablePane::SetResizeMode Используется внутри системы.
CDockablePane::SetRestoredDefaultPaneDivider Задает восстановленный разделитель области по умолчанию.
CDockablePane::SetTabbedPaneRTC Задает сведения о классе среды выполнения для окна табуляции, созданного при закреплении двух панелей.
CDockablePane::ShowPane Отображает или скрывает область.
CDockablePane::Slide Отображает или скрывает панель с скользящей анимацией, отображающейся только в режиме автоматического скрытия панели.
CDockablePane::ToggleAutoHide Переключение режима автоматического скрытия. (Переопределяет CPane::ToggleAutoHide .)
CDockablePane::UndockPane Отключает панель из главного окна фрейма или контейнера окна мини-кадра.
CDockablePane::UnSetAutoHideMode Используется внутри системы. Чтобы задать режим автоматического скрытия, используйте CDockablePane::SetAutoHideMode

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

Имя Описание
CDockablePane::CheckAutoHideCondition Определяет, скрыта ли панель закрепления (в режиме автоматического скрытия).
CDockablePane::CheckStopSlideCondition Определяет, когда панель автоматического скрытия закрепления должна перестать скользить.
CDockablePane::DrawCaption Рисует заголовок панели закрепления (захват).
CDockablePane::OnPressButtons Вызывается при нажатии кнопки заголовка, отличной от AFX_HTCLOSE и кнопок AFX_HTMAXBUTTON.
CDockablePane::OnSlide Вызывается платформой для отрисовки эффекта слайда автоматического скрытия при отображении или скрытии панели.

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

Имя Описание
CDockablePane::m_bDisableAnimation Указывает, отключена ли автоматическое скрытие анимации панели док-станции.
CDockablePane::m_bHideInAutoHideMode Определяет поведение панели, когда панель находится в режиме автоматического скрытия.
CDockablePane::m_nSlideSteps Указывает скорость анимации панели при отображении или скрытии при автоматическом скрытии.

Замечания

CDockablePane реализует следующие функции:

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

  • Переключение области на режим автоматического скрытия.

  • Присоединение области к окну с вкладками.

  • Плавающая панель в окне мини-кадра.

  • Закрепление панели к другой области, плавающей в окне мини-кадра.

  • Изменение размера области.

  • Загрузка и сохранение состояния для панели закрепления.

    Заметка

    Сведения о состоянии сохраняются в реестре Windows.

  • Создание области с подписью или без нее. Подпись может иметь текстовую метку, и ее можно заполнить цветом градиента.

  • Перетаскивание области при отображении содержимого панели

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

Чтобы использовать область закрепления в приложении, наследуйте класс области из класса CDockablePane. Внедрите производный объект в объект окна главного кадра или в объект окна, который управляет экземпляром области. Затем вызовите метод CDockablePane::Create или метод CDockablePane::CreateEx при обработке сообщения WM_CREATE в главном окне кадра. Наконец, настройте объект области путем вызова CBasePane::EnableDocking, CBasePane::DockPaneили CDockablePane::AttachToTabWnd.

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

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

  • Если вы вызываете CDockablePane::AttachToTabWnd для двух не табуляции, закрепления областей, указатель на окно с вкладками будет возвращен в параметре ppTabbedControlBar. Вы можете продолжать добавлять вкладки в окно с вкладками с помощью этого параметра.

  • Тип области табуляции, созданной CDockablePane::AttachToTabWnd, определяется объектом CDockablePane в параметре pTabControlBarAttachTo. Вы можете вызвать CDockablePane::SetTabbedPaneRTC, чтобы задать тип области табуляции, которую будет создавать CDockablePane. Тип по умолчанию определяется dwTabbedStyleCDockablePane::Create при первом создании CDockablePane. Если dwTabbedStyleAFX_CBRS_OUTLOOK_TABS тип по умолчанию CMFCOutlookBar класс; Если dwTabbedStyleAFX_CBRS_REGULAR_TABS тип по умолчанию — CTabbedPane класс.

  • Если вы хотите закрепить одну док-панель с другой, вызовите метод CDockablePane::DockToWindow. Исходная область должна быть закреплена где-то перед вызовом этого метода.

  • Переменная-член CDockablePane::m_bHideInAutoHideMode определяет, как панели закрепления работают в режиме автоматического скрытия при вызове CDockablePane::ShowPane. Если для этой переменной-члена задано значение TRUE, панели закрепления и их кнопки автоматического скрытия будут скрыты. В противном случае они будут входить и выходить.

  • Вы можете отключить автоматическую скрытие анимации, установив для переменной члена CDockablePane::m_bDisableAnimation значение TRUE.

Пример

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

// GetOwner is an inherited method.
CDockablePane *pParentBar = DYNAMIC_DOWNCAST(CDockablePane, GetOwner());
pParentBar->EnableAutohideAll();
pParentBar->EnableGripper(true);
pParentBar->SetAutoHideMode(true, CBRS_ALIGN_LEFT);
pParentBar->ShowPane(true, false, true);
pParentBar->Slide(true);

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

CObject

CCmdTarget

CWnd

CBasePane

CPane

CDockablePane

Требования

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

CDockablePane::AttachToTabWnd

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

virtual CDockablePane* AttachToTabWnd(
    CDockablePane* pTabControlBarAttachTo,
    AFX_DOCK_METHOD dockMethod,
    BOOL bSetActive= TRUE,
    CDockablePane** ppTabbedControlBar = NULL);

Параметры

pTabControlBarAttachTo
[in, out] Указывает целевую область, к которую подключается текущая область. Целевая область должна быть закрепления.

dockMethod
[in] Указывает метод закрепления.

bSetActive
[in] TRUE для активации области вкладок после операции присоединения; в противном случае FALSE.

ppTabbedControlBar
[out] Содержит панель вкладок, которая приводит к операции присоединения.

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

Указатель на текущую панель, если она не является табуляции; в противном случае указатель на панель вкладок, которая приводит к операции присоединения. Возвращаемое значение NULL, если текущая панель не может быть присоединена или возникает ошибка.

Замечания

Когда одна закрепленная панель присоединяется к другой области с помощью этого метода, происходит следующее:

  1. Платформа проверяет, является ли целевая панель pTabControlBarAttachTo регулярной панелью закрепления или является ли она производным от CBaseTabbedPane.

  2. Если целевая панель является панелью с вкладками, платформа добавляет текущую панель в нее в виде вкладки.

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

    • Платформа вызывает pTabControlBarAttachTo->CreateTabbedPane. Стиль новой панели вкладок зависит от элемента m_pTabbedControlBarRTC. По умолчанию этот элемент устанавливается в класс среды выполнения CTabbedPane. Если вы передаете стиль AFX_CBRS_OUTLOOK_TABS в качестве параметра dwTabbedStyle методу CDockablePane::Create, объект класса среды выполнения устанавливается в класс среды выполнения CMFCOutlookBar. Этот элемент можно изменить в любое время, чтобы изменить стиль новой панели.

    • Когда этот метод создает панель с вкладками, платформа заменяет указатель на pTabControlBarAttachTo (если панель закреплена или плавает в окне с несколькими минифреймами) указателем на новую панель вкладок.

    • Платформа добавляет панель pTabControlBarAttachTo на вкладку в качестве первой вкладки. Затем платформа добавляет текущую панель в виде второй вкладки.

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

При присоединении одной области к другой при создании макета док-станции задайте для dockMethod значение DM_SHOW.

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

CDockablePane::CalcFixedLayout

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

virtual CSize CalcFixedLayout(
    BOOL bStretch,
    BOOL bHorz);

Параметры

bStretch
[in] Не используется.

bHorz
[in] Не используется.

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

Объект CSize, содержащий размер прямоугольника панели.

CDockablePane::CanAcceptMiniFrame

Определяет, можно ли закрепить указанный мини-кадр на панели.

virtual BOOL CanAcceptMiniFrame(CPaneFrameWnd* pMiniFrame) const;

Параметры

pMiniFrame
[in] Указатель на объект CPaneFrameWnd.

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

TRUE, если pMiniFrame можно закрепить на панели; в противном случае FALSE.

CDockablePane::CanAcceptPane

Определяет, можно ли закрепить другую панель на текущей панели.

virtual BOOL CanAcceptPane(const CBasePane* pBar) const;

Параметры

pBar
[in] Указывает панель для закрепления на текущей панели.

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

TRUE, если указанная панель может быть закреплена на этой панели; в противном случае FALSE.

Замечания

Платформа вызывает этот метод перед закреплением области к текущей области.

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

По умолчанию этот метод возвращает TRUE, если pBar или его родительский объект имеет тип CDockablePane.

CDockablePane::CanAutoHide

Определяет, может ли область автоматически скрываться.

virtual BOOL CanAutoHide() const;

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

TRUE, если панель может автоматически скрыться; в противном случае FALSE.

Замечания

CDockablePane::CanAutoHide возвращает FALSE в любой из следующих ситуаций:

  • На панели нет родительского элемента.

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

  • Панель не закреплена.

CDockablePane::CanBeAttached

Определяет, можно ли закрепить текущую панель на другой панели.

virtual BOOL CanBeAttached() const;

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

TRUE, если панель закрепления может быть закреплена на другой панели или в главном окне кадра; в противном случае FALSE.

Замечания

По умолчанию этот метод всегда возвращает TRUE. Переопределите этот метод в производном классе, чтобы включить или отключить закрепление без вызова CBasePane::EnableDocking.

CDockablePane::CDockablePane

Создает и инициализирует объект CDockablePane.

CDockablePane();

Замечания

Создав объект панели с закреплением, вызовите CDockablePane::Create или CDockablePane::CreateEx, чтобы создать его.

CDockablePane::ConvertToTabbedDocument

Преобразует одну или несколько док-панелей в документы с вкладками MDI.

virtual void ConvertToTabbedDocument(BOOL bActiveTabOnly = TRUE);

Параметры

bActiveTabOnly
[in] При преобразовании CTabbedPaneукажите TRUE для преобразования только активной вкладки. Укажите FALSE для преобразования всех вкладок на панели.

CDockablePane::CheckAutoHideCondition

Определяет, скрыта ли панель закрепления (также называется режимом автохидентов).

virtual BOOL CheckAutoHideCondition();

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

TRUE, если выполняется условие скрытия; в противном случае FALSE.

Замечания

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

Если выполнены все предыдущие условия, платформа вызывает CDockablePane::Slide, чтобы скрыть область.

CDockablePane::CheckStopSlideCondition

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

virtual BOOL CheckStopSlideCondition(BOOL bDirection);

Параметры

bDirection
[in] TRUE, если область видна; FALSE, если область скрыта.

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

TRUE, если условие остановки выполнено; в противном случае FALSE.

Замечания

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

Переопределите этот метод в производном классе, чтобы реализовать пользовательские эффекты автохиды.

CDockablePane::CopyState

Копирует состояние панели закрепления.

virtual void CopyState(CDockablePane* pOrgBar);

Параметры

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

Замечания

CDockablePane::CopyState копирует состояние pOrgBar в текущую область, вызвав следующие методы:

CDockablePane::Create

Создает элемент управления Windows и присоединяет его к объекту CDockablePane.

virtual BOOL Create(
    LPCTSTR lpszCaption,
    CWnd* pParentWnd,
    const RECT& rect,
    BOOL bHasGripper,
    UINT nID,
    DWORD dwStyle,
    DWORD dwTabbedStyle = AFX_CBRS_REGULAR_TABS,
    DWORD dwControlBarStyle = AFX_DEFAULT_DOCKING_PANE_STYLE,
    CCreateContext* pContext = NULL);

virtual BOOL Create(
    LPCTSTR lpszWindowName,
    CWnd* pParentWnd,
    CSize sizeDefault,
    BOOL bHasGripper,
    UINT nID,
    DWORD dwStyle = WS_CHILD|WS_VISIBLE|CBRS_TOP|CBRS_HIDE_INPLACE,
    DWORD dwTabbedStyle = AFX_CBRS_REGULAR_TABS,
    DWORD dwControlBarStyle = AFX_DEFAULT_DOCKING_PANE_STYLE);

Параметры

lpszCaption
[in] Указывает имя окна.

pParentWnd
[in, out] Указывает родительское окно.

rect
[in] Указывает размер и положение окна в координатах клиента pParentWnd.

bHasGripper
[in] TRUE для создания панели с подписью; в противном случае FALSE.

nID
[in] Указывает идентификатор дочернего окна. Это значение должно быть уникальным, если требуется сохранить состояние док-станции для этой области док-станции.

dwStyle
[in] Задает атрибуты стиля окна.

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

dwControlBarStyle
[in] Задает дополнительные атрибуты стиля.

pContext
[in, out] Указывает контекст создания окна.

lpszWindowName
[in] Указывает имя окна.

sizeDefault
[in] Указывает размер окна.

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

TRUE, если панель закрепления успешно создана; в противном случае FALSE.

Замечания

Создает панель Windows и присоединяет ее к объекту CDockablePane.

Если стиль окна dwStyle имеет флаг CBRS_FLOAT_MULTI, окно мини-кадра может плавать с другими панелями в окне мини-кадра. По умолчанию панели закрепления могут плавать только по отдельности.

Если параметр dwTabbedStyle имеет указанный флаг AFX_CBRS_OUTLOOK_TABS, область создает панели с вкладками в стиле Outlook, когда другая область присоединена к этой области с помощью метода CDockablePane::AttachToTabWnd. По умолчанию панели с закреплением создают обычные панели с вкладками типа CTabbedPane.

CDockablePane::CreateDefaultPaneDivider

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

static CPaneDivider* __stdcall CreateDefaultPaneDivider(
    DWORD dwAlignment,
    CWnd* pParent,
    CRuntimeClass* pSliderRTC = NULL);

Параметры

dwAlignment
[in] Указывает сторону основного кадра, к которому закреплена панель. Если dwAlignment содержит флаг CBRS_ALIGN_LEFT или CBRS_ALIGN_RIGHT, этот метод создает вертикальный (CPaneDivider::SS_VERT) разделитель; в противном случае этот метод создает горизонтальный (CPaneDivider::SS_HORZ) разделитель.

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

pSliderRTC
[in] Не используется.

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

Этот метод возвращает указатель на только что созданный разделитель или NULL, если создание разделителя завершается ошибкой.

Замечания

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

Ценность Описание
CBRS_ALIGN_TOP Панель закреплена в верхней части клиентской области окна кадра.
CBRS_ALIGN_BOTTOM Панель закреплена в нижней части клиентской области окна кадра.
CBRS_ALIGN_LEFT Панель закреплена слева от клиентской области окна фрейма.
CBRS_ALIGN_RIGHT Панель закреплена справа от клиентской области окна фрейма.

CDockablePane::CreateEx

Создает элемент управления Windows и присоединяет его к объекту CDockablePane.

virtual BOOL CreateEx(
    DWORD dwStyleEx,
    LPCTSTR lpszCaption,
    CWnd* pParentWnd,
    const RECT& rect,
    BOOL bHasGripper,
    UINT nID,
    DWORD dwStyle,
    DWORD dwTabbedStyle = AFX_CBRS_REGULAR_TABS,
    DWORD dwControlBarStyle = AFX_DEFAULT_DOCKING_PANE_STYLE,
    CCreateContext* pContext = NULL);

Параметры

dwStyleEx
[in] Задает атрибуты расширенного стиля для нового окна.

lpszCaption
[in] Указывает имя окна.

pParentWnd
[in, out] Указывает родительское окно.

rect
[in] Указывает размер и положение окна в координатах клиента pParentWnd.

bHasGripper
[in] TRUE для создания панели с подписью; в противном случае FALSE.

nID
[in] Указывает идентификатор дочернего окна. Это значение должно быть уникальным, если требуется сохранить состояние док-станции для этой области док-станции.

dwStyle
[in] Задает атрибуты стиля окна.

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

dwControlBarStyle
[in] Задает дополнительные атрибуты стиля.

pContext
[in, out] Указывает контекст создания окна.

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

TRUE, если панель закрепления успешно создана; в противном случае FALSE.

Замечания

Создает панель Windows и присоединяет ее к объекту CDockablePane.

Если стиль окна dwStyle имеет флаг CBRS_FLOAT_MULTI, окно мини-кадра может плавать с другими панелями в окне мини-кадра. По умолчанию панели закрепления могут плавать только по отдельности.

Если параметр dwTabbedStyle имеет указанный флаг AFX_CBRS_OUTLOOK_TABS, область создает панели с вкладками в стиле Outlook, когда другая область присоединена к этой области с помощью метода CDockablePane::AttachToTabWnd. По умолчанию панели с закреплением создают обычные панели с вкладками типа CTabbedPane.

CDockablePane::CreateTabbedPane

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

virtual CTabbedPane* CreateTabbedPane();

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

Новая панель вкладок или NULL, если операция создания завершилась ошибкой.

Замечания

Платформа вызывает этот метод при создании области табуляции для замены этой области. Дополнительные сведения см. в CDockablePane::AttachToTabWnd.

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

Область табуляции создается в соответствии с сведениями о классе среды выполнения, хранящимися в элементе m_pTabbedControlBarRTC, который инициализирован методом CDockablePane::CreateEx.

CDockablePane::DockPaneContainer

Закрепление контейнера на панели.

virtual BOOL DockPaneContainer(
    CPaneContainerManager& barContainerManager,
    DWORD dwAlignment,
    AFX_DOCK_METHOD dockMethod);

Параметры

barContainerManager
[in] Ссылка на диспетчер контейнеров контейнера, закрепленного в контейнере.

dwAlignment
[in] DWORD, указывающий сторону панели, к которой закреплен контейнер.

dockMethod
[in] Не используется.

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

TRUE, если контейнер был успешно закреплен на панели; в противном случае FALSE.

Замечания

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

Ценность Описание
CBRS_ALIGN_TOP Контейнер закреплен в верхней части панели.
CBRS_ALIGN_BOTTOM Контейнер закреплен в нижней части области.
CBRS_ALIGN_LEFT Контейнер закреплен слева от панели.
CBRS_ALIGN_RIGHT Контейнер закреплен справа от панели.

CDockablePane::DockPaneStandard

Закрепление области с помощью закрепления структуры (стандартного).

virtual CPane* DockPaneStandard(BOOL& bWasDocked);

Параметры

bWasDocked
[in] При возврате метода это значение содержит TRUE, если панель была успешно закреплена; в противном случае он содержит FALSE.

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

Если панель была закреплена в окне с вкладками или если окно с вкладками было создано в результате закрепления, этот метод возвращает указатель на окно с вкладками. Если панель была успешно закреплена, этот метод возвращает указатель this. Если при закреплении произошел сбой, этот метод возвращает NULL.

CDockablePane::DockToRecentPos

Прикрепляет панель к его сохраненной позиции док-станции.

BOOL CDockablePane::DockToRecentPos();

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

TRUE, если панель успешно закреплена; в противном случае FALSE.

Замечания

Панели с закреплением хранят последние сведения о закреплении в объекте CRecentDockSiteInfo.

CDockablePane::DockToWindow

Закрепление одной панели док-станции к другой области док-станции.

virtual BOOL DockToWindow(
    CDockablePane* pTargetWindow,
    DWORD dwAlignment,
    LPCRECT lpRect = NULL);

Параметры

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

dwAlignment
[in] Указывает выравнивание прикрепления для области. Может быть одним из CBRS_ALIGN_LEFT, CBRS_ALIGN_TOP, CBRS_ALIGN_RIGHT, CBRS_ALIGN_BOTTOM или CBRS_ALIGN_ANY. (Определено в afxres.h.)

lpRect
[in] Задает прямоугольник док-станции для области.

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

TRUE, если панель была успешно закреплена; в противном случае FALSE.

Замечания

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

CDockablePane::DrawCaption

Рисует подпись (также называемую захватом) панели закрепления.

virtual void DrawCaption(
    CDC* pDC,
    CRect rectCaption);

Параметры

pDC
[in] Представляет контекст устройства, используемый для рисования.

rectCaption
[in] Задает ограничивающий прямоугольник заголовка области.

Замечания

Платформа вызывает этот метод для рисования заголовка панели закрепления.

Переопределите этот метод в производном классе, чтобы настроить внешний вид заголовка.

CDockablePane::EnableAutohideAll

Включает или отключает автоматический режим для этой области и для других панелей в контейнере.

void EnableAutohideAll(BOOL bEnable = TRUE);

Параметры

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

Замечания

Когда пользователь удерживает клавишу CTRL и нажимает кнопку "Закрепить", чтобы переключить панель в режим автохиденты, все остальные панели в одном контейнере также переключаются в режим автохидентирования.

Вызовите этот метод с bEnable, чтобы FALSE отключить эту функцию для определенной панели.

CDockablePane::EnableGripper

Отображает или скрывает заголовок (также называемый захватом).

virtual void EnableGripper(BOOL bEnable);

Параметры

bEnable
[in] TRUE, чтобы включить подпись; в противном случае FALSE.

Замечания

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

Вы можете отображать или скрывать подпись в любое время. Платформа скрывает подпись при добавлении панели в виде вкладки в окно с вкладками или при плавании панели в окне мини-кадра.

CDockablePane::GetAHRestoredRect

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

CRect GetAHRestoredRect() const;

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

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

Замечания

CDockablePane::GetAHSlideMode

Извлекает режим автоматического скрытия слайдов для области.

virtual UINT GetAHSlideMode() const;

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

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

Замечания

CDockablePane::GetCaptionHeight

Возвращает высоту в пикселях текущего заголовка.

virtual int GetCaptionHeight() const;

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

Высота заголовка в пикселях.

Замечания

Высота заголовка составляет 0, если подпись была скрыта методом CDockablePane::EnableGripper или если панель не имеет заголовка.

CDockablePane::GetDefaultPaneDivider

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

CPaneDivider* GetDefaultPaneDivider() const;

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

Допустимый объект CPaneDivider, если панель закрепления закреплена в главном окне фрейма или NULL, если панель закрепления не закреплена или если она плавает.

Замечания

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

CDockablePane::GetDockingStatus

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

virtual AFX_CS_STATUS GetDockingStatus(
    CPoint pt,
    int nSensitivity);

Параметры

pt
[in] Расположение указателя в координатах экрана.

nSensitivity
[in] Расстояние в пикселях от края прямоугольника указателя должно быть для включения закрепления.

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

Одно из следующих значений состояния:

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

Замечания

Платформа вызывает этот метод для обработки закрепления с плавающей панелью.

Для плавающих панелей инструментов или док-панелей, использующих режим док-станции DT_IMMEDIATE, платформа задерживает команду док-станции, чтобы пользователь мог переместить окно из клиентской области родительского кадра перед закреплением. Длина задержки измеряется в миллисекундах и управляется элементом данных CDockingManager::m_nTimeOutBeforeToolBarDock. Значение по умолчанию CDockingManager::m_nTimeOutBeforeToolBarDock равно 200. Это поведение эмулирует поведение прикрепления Microsoft Word 2007.

Для отложенных состояний док-станции (CS_DELAY_DOCK и CS_DELAY_DOCK_TO_TAB), платформа не выполняет закрепление до тех пор, пока пользователь не выпустит кнопку мыши. Если в области используется режим док-станции DT_STANDARD, платформа отображает прямоугольник в проецируемого места док-станции. Если в области используется режим док-станции DT_SMART, платформа отображает маркеры интеллектуальной док-станции и полупрозрачные прямоугольники в проецируемого расположении док-станции. Чтобы указать режим док-станции для области, вызовите метод CBasePane::SetDockingMode. Дополнительные сведения о смарт-закреплении см. в CDockingManager::GetSmartDockingParams.

CDockablePane::GetDragSensitivity

Возвращает чувствительность перетаскивания области закрепления.

static const CSize& GetDragSensitivity();

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

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

CDockablePane::GetLastPercentInPaneContainer

Извлекает процент пространства, занимаемого областью в контейнере (CPaneContainer класса).

int GetLastPercentInPaneContainer() const;

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

int, задающий процент пространства, занимаемого областью в контейнере.

Замечания

Этот метод используется при изменении макета контейнера.

CDockablePane::GetTabArea

Извлекает область вкладок для области.

virtual void GetTabArea(
    CRect& rectTabAreaTop,
    CRect& rectTabAreaBottom) const;

Параметры

rectTabAreaTop
[in] GetTabArea заполняет эту переменную областью вкладок, если вкладки расположены в верхней части области. Если вкладки расположены в нижней части области, эта переменная заполняется пустым прямоугольником.

rectTabAreaBottom
[in] GetTabArea заполняет эту переменную областью вкладок, если вкладки расположены в нижней части панели. Если вкладки расположены в верхней части области, эта переменная заполняется пустым прямоугольником.

Замечания

Этот метод используется только в классах, производных от CDockablePane и имеющих вкладки. Дополнительные сведения см. в CTabbedPane::GetTabArea и CMFCOutlookBar::GetTabArea.

CDockablePane::GetTabbedPaneRTC

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

CRuntimeClass* GetTabbedPaneRTC() const;

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

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

Замечания

Вызовите этот метод, чтобы получить сведения о классе среды выполнения для панелей табуляции, созданных динамически. Это может произойти, когда пользователь перетаскивает одну панель в заголовок другой области или при вызове метода CDockablePane::AttachToTabWnd для программного создания панели с вкладками из двух док-панелей.

Сведения о классе среды выполнения можно задать, вызвав метод CDockablePane::SetTabbedPaneRTC.

CDockablePane::HasAutoHideMode

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

virtual BOOL HasAutoHideMode() const;

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

TRUE, если панель закрепления может быть переключена на режим автохиды; в противном случае FALSE.

Замечания

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

CDockablePane::HitTest

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

virtual int HitTest(
    CPoint point,
    BOOL bDetectCaption = FALSE);

Параметры

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

bDetectCaption
[in] TRUE, если HTCAPTION следует вернуть, если точка находится в заголовке области; в противном случае FALSE.

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

Одно из следующих значений:

  • HTNOWHERE, если point не в области закрепления.

  • HTCLIENT, если point находится в клиентской области док-панели.

  • HTCAPTION, если point находится в области заголовков панели закрепления.

  • AFX_HTCLOSE, если point находится на кнопке закрытия.

  • HTMAXBUTTON, если point находится на кнопке закрепить.

CDockablePane::IsAutohideAllEnabled

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

virtual BOOL IsAutohideAllEnabled() const;

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

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

Замечания

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

Чтобы включить или отключить это поведение, вызовите метод CDockablePane::EnableAutohideAll.

CDockablePane::IsAutoHideMode

Определяет, находится ли панель в режиме автоматической ide.

virtual BOOL IsAutoHideMode() const;

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

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

CDockablePane::IsDocked

Определяет, закреплена ли текущая панель.

virtual BOOL IsDocked() const;

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

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

Замечания

Чтобы определить, закреплена ли панель в главном окне фрейма, вызовите CDockablePane::GetDefaultPaneDivider. Если метод возвращает указатель, отличный отNULL, область закреплена в главном окне фрейма.

CDockablePane::IsHideInAutoHideMode

Определяет поведение панели, которая находится в режиме автохиды, если она отображается (или скрыта), вызывая CDockablePane::ShowPane.

virtual BOOL IsHideInAutoHideMode() const;

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

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

Замечания

Если панель закрепления находится в режиме автоматической ориентации, она ведет себя по-разному при вызове ShowPane скрытия или отображения области. Это поведение управляется статическим элементом CDockablePane::m_bHideInAutoHideMode. Если этот элемент TRUE, панель закрепления и связанная с ней панель инструментов автохиды или кнопка автохиды скрыта или отображается при вызове ShowPane. В противном случае панель закрепления активируется или деактивирована, а связанная с ней панель инструментов автохиды или кнопка автохиды всегда отображается.

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

Значение по умолчанию для m_bHideInAutoHideModeFALSE.

CDockablePane::IsInFloatingMultiPaneFrameWnd

Указывает, находится ли панель в окне фрейма с несколькими панелями (CMultiPaneFrameWnd Class).

virtual BOOL IsInFloatingMultiPaneFrameWnd() const;

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

TRUE, если панель находится в окне с несколькими панелями; в противном случае FALSE.

Замечания

CDockablePane::IsResizable

Указывает, является ли область измененной.

virtual BOOL IsResizable() const;

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

TRUE, если область будет изменена; в противном случае FALSE.

Замечания

По умолчанию панели, доступные для закрепления, можно изменить размер. Чтобы предотвратить изменение размера, переопределите этот метод в производном классе и верните FALSE. Обратите внимание, что значение FALSE приводит к сбою ASSERT в CPane::DockPane. Вместо этого используйте CDockingManager::AddPane для закрепления области в родительском кадре.

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

CDockablePane::IsTabLocationBottom

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

virtual BOOL IsTabLocationBottom() const;

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

TRUE, если вкладки расположены в нижней части панели; FALSE, если вкладки расположены в верхней части панели.

Замечания

Дополнительные сведения см. в CTabbedPane::IsTabLocationBottom.

CDockablePane::IsTracked

Указывает, перемещается ли панель пользователем.

BOOL IsTracked() const;

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

TRUE, если панель перемещается; в противном случае FALSE.

CDockablePane::IsVisible

Определяет, отображается ли текущая панель.

virtual BOOL IsVisible() const;

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

TRUE, если панель закрепления видна; в противном случае FALSE.

Замечания

Вызовите этот метод, чтобы определить, отображается ли панель док-станции. Этот метод можно использовать вместо вызова CWnd::IsWindowVisible или тестирования для стиля WS_VISIBLE. Возвращаемое состояние видимости зависит от того, включен или отключен режим автохиды, а также от значения свойства CDockablePane::IsHideInAutoHideMode.

Если панель закрепления находится в режиме автохидентности и IsHideInAutoHideMode возвращает FALSE состояние видимости всегда FALSE.

Если панель закрепления находится в режиме автохидентности и IsHideInAutoHideMode возвращается TRUE состояние видимости зависит от состояния видимости связанной панели инструментов автохиды.

Если панель закрепления не находится в режиме автоматической ориентации, состояние видимости определяется методом CBasePane::IsVisible.

## CDockablePane::LoadState

Только для внутреннего использования. Дополнительные сведения см. в исходном коде, расположенном в папке mfc установки Visual Studio. Например, %ProgramFiles(x86)%\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\atlmfc\src\mfc.

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

CDockablePane::m_bDisableAnimation

Указывает, отключена ли автоматическая анимация панели док-станции.

AFX_IMPORT_DATA static BOOL m_bDisableAnimation;

CDockablePane::m_bHideInAutoHideMode

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

AFX_IMPORT_DATA static BOOL m_bHideInAutoHideMode;

Замечания

Это значение влияет на все области закрепления в приложении.

Если этот элемент установлен на TRUE, при вызове CDockablePane::ShowPaneпанели скрыты или отображаются со связанными панелями инструментов автохиденты и кнопками.

Если для этого элемента задано значение FALSE, при вызове CDockablePane::ShowPaneактивируются или деактивируются панели док-станции.

CDockablePane::m_nSlideSteps

Указывает скорость анимации панели при использовании режима автообъединения.

AFX_IMPORT_DATA static int m_nSlideSteps;

Замечания

Чтобы ускорить эффект анимации, уменьшите это значение. Для более медленного эффекта анимации увеличьте это значение.

CDockablePane::OnAfterChangeParent

Дополнительные сведения см. в исходном коде, расположенном в папке mfc установки Visual Studio. Например, %ProgramFiles(x86)%\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\atlmfc\src\mfc.

virtual void OnAfterChangeParent(CWnd* pWndOldParent);

Параметры

[in] pWndOldParent\

Замечания

CDockablePane::OnAfterDockFromMiniFrame

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

virtual void OnAfterDockFromMiniFrame();

Замечания

По умолчанию этот метод ничего не делает.

CDockablePane::OnBeforeChangeParent

Платформа вызывает этот метод перед изменением родительского элемента панели.

virtual void OnBeforeChangeParent(
    CWnd* pWndNewParent,
    BOOL bDelay = FALSE);

Параметры

pWndNewParent
[in] Указатель на новое родительское окно.

bDelay
[in] BOOL, указывающее, следует ли отложить пересчет макета док-станции, если панель открепится. Дополнительные сведения см. в CDockablePane::UndockPane.

Замечания

Если панель закреплена, а новый родительский элемент не разрешает закрепление, этот метод открепит панель.

Если область преобразуется в документ с вкладками, этот метод сохраняет свое последнее положение док-станции. Платформа использует последнюю позицию док-станции для восстановления положения панели при его преобразовании в закрепленное состояние.

CDockablePane::OnBeforeFloat

Платформа вызывает этот метод перед переходом области в состояние с плавающей запятой.

virtual BOOL OnBeforeFloat(
    CRect& rectFloat,
    AFX_DOCK_METHOD dockMethod);

Параметры

rectFloat
[in] Указывает положение и размер области, когда она находится в плавающем состоянии.

dockMethod
[in] Указывает метод закрепления. Список возможных значений см. в CPane::DockPane.

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

TRUE, если панель может быть с плавающей; в противном случае FALSE.

Замечания

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

CDockablePane::OnPressButtons

Вызывается при нажатии кнопки заголовка, отличной от AFX_HTCLOSE и кнопок AFX_HTMAXBUTTON.

virtual void OnPressButtons(UINT nHit);

Параметры

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

Замечания

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

CDockablePane::OnSlide

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

virtual void OnSlide(BOOL bSlideOut);

Параметры

bSlideOut
[in] TRUE для отображения области; FALSE скрыть панель.

Замечания

Переопределите этот метод в производном классе, чтобы реализовать пользовательские эффекты автохиды.

CDockablePane::RemoveFromDefaultPaneDividier

Платформа вызывает этот метод, когда область открепится.

void RemoveFromDefaultPaneDividier();

Замечания

Этот метод задает разделитель области по умолчанию для NULL и удаляет панель из контейнера.

CDockablePane::ReplacePane

Заменяет область указанной областью.

BOOL ReplacePane(
    CDockablePane* pBarToReplaceWith,
    AFX_DOCK_METHOD dockMethod,
    BOOL bRegisterWithFrame = FALSE);

Параметры

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

dockMethod
[in] Не используется.

bRegisterWithFrame
[in] Если TRUE, новая область зарегистрирована в диспетчере закреплений родительской панели старой панели. Новая панель вставляется в индекс старой панели в списке панелей, которые поддерживаются диспетчером закреплений.

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

TRUE, если замена выполнена успешно; в противном случае FALSE.

CDockablePane::RestoreDefaultPaneDivider

При десериализации области платформа вызывает этот метод для восстановления разделителя области по умолчанию.

void RestoreDefaultPaneDivider();

Замечания

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

CDockablePane::SetAutoHideMode

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

virtual CMFCAutoHideBar* SetAutoHideMode(
    BOOL bMode,
    DWORD dwAlignment,
    CMFCAutoHideBar* pCurrAutoHideBar = NULL,
    BOOL bUseTimer = TRUE);

Параметры

bMode
[in] TRUE для включения режима автохиды; FALSE для включения регулярного режима док-станции.

dwAlignment
[in] Указывает выравнивание создаваемой области автохиды.

pCurrAutoHideBar
[in, out] Указатель на текущую панель инструментов автохидента. Может быть NULL.

bUseTimer
[in] Указывает, следует ли использовать эффект автохиды, когда пользователь переключает панель в режим автохиды или сразу же скрывает панель.

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

Панель инструментов autohide, созданная в результате переключения в режим автохиды или NULL.

Замечания

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

Вызовите этот метод, чтобы переключить панель с закрепления на режим автохиды программным способом. Панель должна быть закреплена в главном окне кадра (CDockablePane::GetDefaultPaneDivider должен возвращать допустимый указатель на CPaneDivider).

CDockablePane::SetAutoHideParents

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

void SetAutoHideParents(
    CMFCAutoHideBar* pToolBar,
    CMFCAutoHideButton* pBtn);

Параметры

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

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

CDockablePane::SetLastPercentInPaneContainer

Задает процент пространства, занимаемого областью в контейнере.

void SetLastPercentInPaneContainer(int n);

Параметры

n
[in] int, задающий процент пространства, занимаемого областью в контейнере.

Замечания

Платформа настраивает панель, чтобы использовать новое значение при перерасчете макета.

CDockablePane::SetRestoredDefaultPaneDivider

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

void SetRestoredDefaultPaneDivider(HWND hRestoredSlider);

Параметры

hRestoredSlider
[in] Дескриптор разделителя области (ползунок).

Замечания

Восстановленный разделитель области по умолчанию получается при десериализации панели. Дополнительные сведения см. в CDockablePane::RestoreDefaultPaneDivider.

CDockablePane::SetTabbedPaneRTC

Задает сведения о классе среды выполнения для окна табуляции, созданного при закреплении двух панелей.

void SetTabbedPaneRTC(CRuntimeClass* pRTC);

Параметры

pRTC
[in] Сведения о классе среды выполнения для области табуляции.

Замечания

Вызовите этот метод, чтобы задать сведения о классе среды выполнения для панелей табуляции, созданных динамически. Это может произойти, когда пользователь перетаскивает одну панель в заголовок другой области или при вызове метода CDockablePane::AttachToTabWnd для программного создания панели с вкладками из двух док-панелей.

Класс среды выполнения по умолчанию задается в соответствии с параметром dwTabbedStyleCDockablePane::Create и CDockablePane::CreateEx. Чтобы настроить новые области табуляции, наследуйте класс из одного из следующих классов:

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

CDockablePane::ShowPane

Отображает или скрывает область.

virtual void ShowPane(
    BOOL bShow,
    BOOL bDelay,
    BOOL bActivate);

Параметры

bShow
[in] TRUE для отображения области; FALSE скрыть панель.

bDelay
[in] TRUE для задержки настройки макета прикрепления; FALSE немедленно настроить макет док-станции.

bActivate
[in] TRUE активации области при отображении; в противном случае FALSE.

Замечания

Вызовите этот метод вместо CWnd::ShowWindow при отображении или скрытии закрепления панелей.

CDockablePane::Slide

Анимирует область, которая находится в режиме автоматической ориентации.

virtual void Slide(
    BOOL bSlideOut,
    BOOL bUseTimer = TRUE);

Параметры

bSlideOut
[in] TRUE для отображения области; FALSE скрыть панель.

bUseTimer
[in] TRUE для отображения или скрытия панели с эффектом автохиды; FALSE, чтобы отобразить или скрыть панель немедленно.

Замечания

Платформа вызывает этот метод для анимации области, которая находится в режиме автоматической ориентации.

Этот метод использует значение CDockablePane::m_nSlideDefaultTimeOut для определения времени ожидания для эффекта слайда. Значение по умолчанию для времени ожидания равно 1. Если вы настраиваете алгоритм автоматической обработки, измените этот элемент, чтобы изменить время ожидания.

CDockablePane::ToggleAutoHide

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

virtual void ToggleAutoHide();

Замечания

Этот метод переключает режим автоматического скрытия области путем вызова CDockablePane::SetAutoHideMode.

CDockablePane::UndockPane

Отключает панель из главного окна фрейма или контейнера окна мини-кадра.

virtual void UndockPane(BOOL bDelay = FALSE);

Параметры

bDelay
[in] TRUE для задержки вычисления макета прикрепления; FALSE немедленно пересчитывать макет док-станции.

Замечания

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

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

Платформа автоматически открепляют панели перед их уничтожением.

См. также

диаграммы иерархии
классы
класс CPane