Класс 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
. Тип по умолчанию определяетсяdwTabbedStyle
CDockablePane::Create
при первом созданииCDockablePane
. ЕслиdwTabbedStyle
AFX_CBRS_OUTLOOK_TABS
тип по умолчаниюCMFCOutlookBar
класс; ЕслиdwTabbedStyle
AFX_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);
Иерархия наследования
Требования
Заголовок :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
, если текущая панель не может быть присоединена или возникает ошибка.
Замечания
Когда одна закрепленная панель присоединяется к другой области с помощью этого метода, происходит следующее:
Платформа проверяет, является ли целевая панель
pTabControlBarAttachTo
регулярной панелью закрепления или является ли она производным отCBaseTabbedPane
.Если целевая панель является панелью с вкладками, платформа добавляет текущую панель в нее в виде вкладки.
Если целевая область является обычной панелью закрепления, платформа создает панель с вкладками.
Платформа вызывает
pTabControlBarAttachTo->CreateTabbedPane
. Стиль новой панели вкладок зависит от элементаm_pTabbedControlBarRTC
. По умолчанию этот элемент устанавливается в класс среды выполненияCTabbedPane
. Если вы передаете стильAFX_CBRS_OUTLOOK_TABS
в качестве параметраdwTabbedStyle
методуCDockablePane::Create
, объект класса среды выполнения устанавливается в класс среды выполненияCMFCOutlookBar
. Этот элемент можно изменить в любое время, чтобы изменить стиль новой панели.Когда этот метод создает панель с вкладками, платформа заменяет указатель на
pTabControlBarAttachTo
(если панель закреплена или плавает в окне с несколькими минифреймами) указателем на новую панель вкладок.Платформа добавляет панель
pTabControlBarAttachTo
на вкладку в качестве первой вкладки. Затем платформа добавляет текущую панель в виде второй вкладки.
Если текущая панель является производным от
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_bHideInAutoHideMode
— FALSE
.
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
для программного создания панели с вкладками из двух док-панелей.
Класс среды выполнения по умолчанию задается в соответствии с параметром dwTabbedStyle
CDockablePane::Create
и CDockablePane::CreateEx
. Чтобы настроить новые области табуляции, наследуйте класс из одного из следующих классов:
класс
CBaseTabbedPane
класс
CTabbedPane
Затем вызовите этот метод с указателем на сведения о классе среды выполнения.
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