Класс 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
dwTabbedStyle
используетсяAFX_CBRS_OUTLOOK_TABS
AFX_CBRS_REGULAR_TABS
тип по умолчанию, являетсяCTabbedPane
классом.CMFCOutlookBar
Если вы хотите закрепить одну док-панель с другой, вызовите
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_RIGHT
CBRS_ALIGN_TOP
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
Чтобы включить или отключить это поведение, вызовите 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
значение приводит к сбоюCPane::DockPane
ASSERT
. Используйте 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);
Параметры
[входной] 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] Указывает, следует ли использовать эффект автохиды, когда пользователь переключает панель в режим автохиды или сразу же скрывает панель.
Возвращаемое значение
Панель инструментов автохиды, созданная в результате переключения в режим автохиды или 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
. Чтобы настроить новые области табуляции, наследуйте класс из одного из следующих классов:
Затем вызовите этот метод с указателем на сведения о классе среды выполнения.
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
необходимо открепить панель. Например, необходимо открепить панель, чтобы переместить ее программным способом из одного расположения в другое.
Платформа автоматически открепляют панели перед их уничтожением.