Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Класс
Реализует панель, которая может быть закреплена на сайте док-станции или включена в панель вкладок.
Синтаксис
class CDockablePane : public CPane
Члены
Открытые конструкторы
| Имя | Описание |
|---|---|
CDockablePane::CDockablePane |
Создает и инициализирует объект CDockablePane. |
Общедоступные методы
| Имя | Описание |
|---|---|
CDockablePane::AttachToTabWnd |
Присоединяет область к другой области. При этом создается панель табуляции. |
CDockablePane::CalcFixedLayout |
Возвращает размер прямоугольника панели. |
CDockablePane::CanAcceptMiniFrame |
Определяет, можно ли закрепить указанный мини-кадр на панели. |
CDockablePane::CanAcceptPane |
Определяет, можно ли закрепить другую панель на текущей панели. |
CDockablePane::CanAutoHide |
Определяет, поддерживает ли панель режим автоматического скрытия. (Переопределяет CBasePane::CanAutoHide.) |
CDockablePane::CanBeAttached |
Определяет, можно ли закрепить текущую панель на другой панели. |
CDockablePane::ConvertToTabbedDocument |
Преобразует одну или несколько док-панелей в документы с вкладками MDI. |
CDockablePane::CopyState |
Копирует состояние панели закрепления. |
CDockablePane::Create |
Создает элемент управления Windows и присоединяет его к объекту CDockablePane. |
CDockablePane::CreateDefaultPaneDivider |
Создает разделитель по умолчанию для области при закреплении к окну кадра. |
CDockablePane::CreateEx |
Создает элемент управления Windows и присоединяет его к объекту CDockablePane. |
CDockablePane::CreateTabbedPane |
Создает панель табуляции из текущей области. |
CDockablePane::DockPaneContainer |
Закрепление контейнера на панели. |
CDockablePane::DockPaneStandard |
Закрепление области с помощью закрепления структуры (стандартного). |
CDockablePane::DockToFrameWindow |
Используется внутри системы. Чтобы закрепить панель, используйте CPane::DockPane или CDockablePane::DockToWindow. |
CDockablePane::DockToRecentPos |
Прикрепляет панель к его сохраненной позиции док-станции. |
CDockablePane::DockToWindow |
Закрепление одной панели док-станции к другой области док-станции. |
CDockablePane::EnableAutohideAll |
Включает или отключает режим автоматического скрытия для этой области вместе с другими панелями в контейнере. |
CDockablePane::EnableGripper |
Отображает или скрывает подпись (захват). |
CDockablePane::GetAHRestoredRect |
Указывает позицию панели при отображении в режиме автоматического скрытия. |
CDockablePane::GetAHSlideMode |
Извлекает режим автоматического скрытия слайдов для области. |
CDockablePane::GetAutoHideButton |
Используется внутри системы. |
CDockablePane::GetAutoHideToolBar |
Используется внутри системы. |
CDockablePane::GetCaptionHeight |
Возвращает высоту текущего заголовка. |
CDockablePane::GetDefaultPaneDivider |
Возвращает разделитель области по умолчанию для контейнера области. |
CDockablePane::GetDockingStatus |
Определяет возможность закрепления панели на основе предоставленного расположения указателя. |
CDockablePane::GetDragSensitivity |
Возвращает чувствительность перетаскивания области закрепления. |
CDockablePane::GetLastPercentInPaneContainer |
Извлекает процент пространства, занимаемого областью в контейнере. |
CDockablePane::GetTabArea |
Извлекает область вкладок для области. |
CDockablePane::GetTabbedPaneRTC |
Возвращает сведения о классе среды выполнения о окне табуляции, созданном при закреплении другой панели на текущей панели. |
CDockablePane::HasAutoHideMode |
Указывает, можно ли переключить панель закрепления в режим автоматического скрытия. |
CDockablePane::HitTest |
Указывает конкретное расположение в области, в которой пользователь щелкает мышь. |
CDockablePane::IsAccessibilityCompatible |
Используется внутри системы. |
CDockablePane::IsAutohideAllEnabled |
Указывает, можно ли разместить панель док-станции и все остальные панели в контейнере в режиме автоматического скрытия. |
CDockablePane::IsAutoHideMode |
Определяет, находится ли панель в режиме автоматического скрытия. |
CDockablePane::IsChangeState |
Используется внутри системы. |
CDockablePane::IsDocked |
Определяет, закреплена ли текущая панель. |
CDockablePane::IsHideInAutoHideMode |
Определяет поведение панели, которая находится в режиме автоматического скрытия, если она отображается (или скрыта), вызывая ShowPane. |
CDockablePane::IsInFloatingMultiPaneFrameWnd |
Указывает, находится ли панель в окне кадров с несколькими панелями. |
CDockablePane::IsResizable |
Указывает, является ли область измененной. |
CDockablePane::IsTabLocationBottom |
Указывает, расположены ли вкладки в верхней или нижней части области. |
CDockablePane::IsTracked |
Указывает, перетаскивается ли область пользователем. |
CDockablePane::IsVisible |
Определяет, отображается ли текущая панель. |
CDockablePane::LoadState |
Используется внутри системы. |
CDockablePane::OnAfterChangeParent |
Вызывается платформой при изменении родительского элемента панели. (Переопределяет CPane::OnAfterChangeParent.) |
CDockablePane::OnAfterDockFromMiniFrame |
Вызывается платформой при закреплении с плавающей закрепления панели в окне фрейма. |
CDockablePane::OnBeforeChangeParent |
Вызывается платформой, когда родитель панели будет меняться. (Переопределяет CPane::OnBeforeChangeParent.) |
CDockablePane::OnBeforeFloat |
Вызывается платформой, когда область будет плавать. (Переопределяет CPane::OnBeforeFloat.) |
CDockablePane::RemoveFromDefaultPaneDividier |
Платформа вызывает этот метод, когда область открепится. |
CDockablePane::ReplacePane |
Заменяет область указанной областью. |
CDockablePane::RestoreDefaultPaneDivider |
Платформа вызывает этот метод в виде области десериализации для восстановления разделителя области по умолчанию. |
CDockablePane::SaveState |
Используется внутри системы. |
CDockablePane::Serialize |
Сериализует область. (Переопределяет CBasePane::Serialize.) |
CDockablePane::SetAutoHideMode |
Переключение области закрепления между видимым и автоматическим режимом скрытия. |
CDockablePane::SetAutoHideParents |
Задает кнопку автоматического скрытия и панель инструментов автоматического скрытия для области. |
CDockablePane::SetDefaultPaneDivider |
Используется внутри системы. |
CDockablePane::SetLastPercentInPaneContainer |
Задает процент пространства, занимаемого областью в контейнере. |
CDockablePane::SetResizeMode |
Используется внутри системы. |
CDockablePane::SetRestoredDefaultPaneDivider |
Задает восстановленный разделитель области по умолчанию. |
CDockablePane::SetTabbedPaneRTC |
Задает сведения о классе среды выполнения для окна табуляции, созданного при закреплении двух панелей. |
CDockablePane::ShowPane |
Отображает или скрывает область. |
CDockablePane::Slide |
Отображает или скрывает панель с скользящей анимацией, отображающейся только в режиме автоматического скрытия панели. |
CDockablePane::ToggleAutoHide |
Переключение режима автоматического скрытия. (Переопределяет CPane::ToggleAutoHide .) |
CDockablePane::UndockPane |
Отключает панель из главного окна фрейма или контейнера окна мини-кадра. |
CDockablePane::UnSetAutoHideMode |
Используется внутри системы. Чтобы задать режим автоматического скрытия, используйте CDockablePane::SetAutoHideMode |
Защищенные методы
| Имя | Описание |
|---|---|
CDockablePane::CheckAutoHideCondition |
Определяет, скрыта ли панель закрепления (в режиме автоматического скрытия). |
CDockablePane::CheckStopSlideCondition |
Определяет, когда панель автоматического скрытия закрепления должна перестать скользить. |
CDockablePane::DrawCaption |
Рисует заголовок панели закрепления (захват). |
CDockablePane::OnPressButtons |
Вызывается при нажатии кнопки заголовка, отличной от AFX_HTCLOSE и кнопок AFX_HTMAXBUTTON. |
CDockablePane::OnSlide |
Вызывается платформой для отрисовки эффекта слайда автоматического скрытия при отображении или скрытии панели. |
Элементы данных
| Имя | Описание |
|---|---|
CDockablePane::m_bDisableAnimation |
Указывает, отключена ли автоматическое скрытие анимации панели док-станции. |
CDockablePane::m_bHideInAutoHideMode |
Определяет поведение панели, когда панель находится в режиме автоматического скрытия. |
CDockablePane::m_nSlideSteps |
Указывает скорость анимации панели при отображении или скрытии при автоматическом скрытии. |
Замечания
CDockablePane реализует следующие функции:
Закрепление области в главном окне фрейма.
Переключение области на режим автоматического скрытия.
Присоединение области к окну с вкладками.
Плавающая панель в окне мини-кадра.
Закрепление панели к другой области, плавающей в окне мини-кадра.
Изменение размера области.
Загрузка и сохранение состояния для панели закрепления.
Заметка
Сведения о состоянии сохраняются в реестре Windows.
Создание области с подписью или без нее. Подпись может иметь текстовую метку, и ее можно заполнить цветом градиента.
Перетаскивание области при отображении содержимого панели
Перетаскивание области при отображении прямоугольника перетаскивания.
Чтобы использовать область закрепления в приложении, наследуйте класс области из класса CDockablePane. Внедрите производный объект в объект окна главного кадра или в объект окна, который управляет экземпляром области. Затем вызовите метод CDockablePane::Create или метод CDockablePane::CreateEx при обработке сообщения WM_CREATE в главном окне кадра. Наконец, настройте объект области путем вызова CBasePane::EnableDocking, CBasePane::DockPaneили CDockablePane::AttachToTabWnd.
Советы по настройке
Следующие советы применяются к объектам CDockablePane:
Если вы вызываете
CDockablePane::AttachToTabWndдля двух не табуляции, закрепления областей, указатель на окно с вкладками будет возвращен в параметреppTabbedControlBar. Вы можете продолжать добавлять вкладки в окно с вкладками с помощью этого параметра.Тип области табуляции, созданной
CDockablePane::AttachToTabWnd, определяется объектомCDockablePaneв параметреpTabControlBarAttachTo. Вы можете вызватьCDockablePane::SetTabbedPaneRTC, чтобы задать тип области табуляции, которую будет создаватьCDockablePane. Тип по умолчанию определяетсяdwTabbedStyleCDockablePane::Createпри первом созданииCDockablePane. ЕслиdwTabbedStyleAFX_CBRS_OUTLOOK_TABSтип по умолчаниюCMFCOutlookBarкласс; ЕслиdwTabbedStyleAFX_CBRS_REGULAR_TABSтип по умолчанию —CTabbedPaneкласс.Если вы хотите закрепить одну док-панель с другой, вызовите метод
CDockablePane::DockToWindow. Исходная область должна быть закреплена где-то перед вызовом этого метода.Переменная-член
CDockablePane::m_bHideInAutoHideModeопределяет, как панели закрепления работают в режиме автоматического скрытия при вызовеCDockablePane::ShowPane. Если для этой переменной-члена задано значениеTRUE, панели закрепления и их кнопки автоматического скрытия будут скрыты. В противном случае они будут входить и выходить.Вы можете отключить автоматическую скрытие анимации, установив для переменной члена
CDockablePane::m_bDisableAnimationзначениеTRUE.
Пример
В следующем примере показано, как настроить объект CDockablePane с помощью различных методов в классе CDockablePane. В примере показано, как включить функцию автоматического скрытия всех компонентов для панели закрепления, включить подпись или захват, включить режим автоматического скрытия, отобразить панель и анимировать панель, которая находится в режиме автоматического скрытия. Этот фрагмент кода является частью примера демонстрации Visual Studio.
// GetOwner is an inherited method.
CDockablePane *pParentBar = DYNAMIC_DOWNCAST(CDockablePane, GetOwner());
pParentBar->EnableAutohideAll();
pParentBar->EnableGripper(true);
pParentBar->SetAutoHideMode(true, CBRS_ALIGN_LEFT);
pParentBar->ShowPane(true, false, true);
pParentBar->Slide(true);
Иерархия наследования
Требования
Заголовок :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);
Параметры
[входной] pWndOldParent
Замечания
CDockablePane::OnAfterDockFromMiniFrame
Вызывается платформой при закреплении с плавающей закрепления панели в окне фрейма.
virtual void OnAfterDockFromMiniFrame();
Замечания
По умолчанию этот метод ничего не делает.
CDockablePane::OnBeforeChangeParent
Платформа вызывает этот метод перед изменением родительского элемента панели.
virtual void OnBeforeChangeParent(
CWnd* pWndNewParent,
BOOL bDelay = FALSE);
Параметры
pWndNewParent
[in] Указатель на новое родительское окно.
bDelay
[in] BOOL, указывающее, следует ли отложить пересчет макета док-станции, если панель открепится. Дополнительные сведения см. в CDockablePane::UndockPane.
Замечания
Если панель закреплена, а новый родительский элемент не разрешает закрепление, этот метод открепит панель.
Если область преобразуется в документ с вкладками, этот метод сохраняет свое последнее положение док-станции. Платформа использует последнюю позицию док-станции для восстановления положения панели при его преобразовании в закрепленное состояние.
CDockablePane::OnBeforeFloat
Платформа вызывает этот метод перед переходом области в состояние с плавающей запятой.
virtual BOOL OnBeforeFloat(
CRect& rectFloat,
AFX_DOCK_METHOD dockMethod);
Параметры
rectFloat
[in] Указывает положение и размер области, когда она находится в плавающем состоянии.
dockMethod
[in] Указывает метод закрепления. Список возможных значений см. в CPane::DockPane.
Возвращаемое значение
TRUE, если панель может быть с плавающей; в противном случае FALSE.
Замечания
Этот метод вызывается платформой, когда область будет плавать. Этот метод можно переопределить в производном классе, если вы хотите выполнить любую обработку перед плавающей областью.
CDockablePane::OnPressButtons
Вызывается при нажатии кнопки заголовка, отличной от AFX_HTCLOSE и кнопок AFX_HTMAXBUTTON.
virtual void OnPressButtons(UINT nHit);
Параметры
nHit
[in] Этот параметр не используется.
Замечания
При добавлении настраиваемой кнопки в подпись панели док-станции переопределите этот метод для получения уведомлений, когда пользователь нажимает кнопку.
CDockablePane::OnSlide
Вызывается платформой для анимации области, когда она находится в автоматическом режиме.
virtual void OnSlide(BOOL bSlideOut);
Параметры
bSlideOut
[in] TRUE для отображения области; FALSE скрыть панель.
Замечания
Переопределите этот метод в производном классе, чтобы реализовать пользовательские эффекты автохиды.
CDockablePane::RemoveFromDefaultPaneDividier
Платформа вызывает этот метод, когда область открепится.
void RemoveFromDefaultPaneDividier();
Замечания
Этот метод задает разделитель области по умолчанию для NULL и удаляет панель из контейнера.
CDockablePane::ReplacePane
Заменяет область указанной областью.
BOOL ReplacePane(
CDockablePane* pBarToReplaceWith,
AFX_DOCK_METHOD dockMethod,
BOOL bRegisterWithFrame = FALSE);
Параметры
pBarToReplaceWith
[in] Указатель на закрепленную панель.
dockMethod
[in] Не используется.
bRegisterWithFrame
[in] Если TRUE, новая область зарегистрирована в диспетчере закреплений родительской панели старой панели. Новая панель вставляется в индекс старой панели в списке панелей, которые поддерживаются диспетчером закреплений.
Возвращаемое значение
TRUE, если замена выполнена успешно; в противном случае FALSE.
CDockablePane::RestoreDefaultPaneDivider
При десериализации области платформа вызывает этот метод для восстановления разделителя области по умолчанию.
void RestoreDefaultPaneDivider();
Замечания
Восстановленный разделитель области по умолчанию заменяет текущий разделитель области по умолчанию, если он существует.
CDockablePane::SetAutoHideMode
Переключение области закрепления между видимым и автоматическим режимом.
virtual CMFCAutoHideBar* SetAutoHideMode(
BOOL bMode,
DWORD dwAlignment,
CMFCAutoHideBar* pCurrAutoHideBar = NULL,
BOOL bUseTimer = TRUE);
Параметры
bMode
[in] TRUE для включения режима автохиды; FALSE для включения регулярного режима док-станции.
dwAlignment
[in] Указывает выравнивание создаваемой области автохиды.
pCurrAutoHideBar
[in, out] Указатель на текущую панель инструментов автохидента. Может быть NULL.
bUseTimer
[in] Указывает, следует ли использовать эффект автохиды, когда пользователь переключает панель в режим автохиды или сразу же скрывает панель.
Возвращаемое значение
Панель инструментов autohide, созданная в результате переключения в режим автохиды или NULL.
Замечания
Платформа вызывает этот метод, когда пользователь нажимает кнопку закрепления, чтобы переключить панель на закрепление в режим автохидента или в обычный режим закрепления.
Вызовите этот метод, чтобы переключить панель с закрепления на режим автохиды программным способом. Панель должна быть закреплена в главном окне кадра (CDockablePane::GetDefaultPaneDivider должен возвращать допустимый указатель на CPaneDivider).
CDockablePane::SetAutoHideParents
Задает кнопку автоматического скрытия и панель инструментов автоматического скрытия для области.
void SetAutoHideParents(
CMFCAutoHideBar* pToolBar,
CMFCAutoHideButton* pBtn);
Параметры
pToolBar
[in] Указатель на панель инструментов автоматического скрытия.
pBtn
[in] Указатель на кнопку автоматического скрытия.
CDockablePane::SetLastPercentInPaneContainer
Задает процент пространства, занимаемого областью в контейнере.
void SetLastPercentInPaneContainer(int n);
Параметры
n
[in] int, задающий процент пространства, занимаемого областью в контейнере.
Замечания
Платформа настраивает панель, чтобы использовать новое значение при перерасчете макета.
CDockablePane::SetRestoredDefaultPaneDivider
Задает восстановленный разделитель области по умолчанию.
void SetRestoredDefaultPaneDivider(HWND hRestoredSlider);
Параметры
hRestoredSlider
[in] Дескриптор разделителя области (ползунок).
Замечания
Восстановленный разделитель области по умолчанию получается при десериализации панели. Дополнительные сведения см. в CDockablePane::RestoreDefaultPaneDivider.
CDockablePane::SetTabbedPaneRTC
Задает сведения о классе среды выполнения для окна табуляции, созданного при закреплении двух панелей.
void SetTabbedPaneRTC(CRuntimeClass* pRTC);
Параметры
pRTC
[in] Сведения о классе среды выполнения для области табуляции.
Замечания
Вызовите этот метод, чтобы задать сведения о классе среды выполнения для панелей табуляции, созданных динамически. Это может произойти, когда пользователь перетаскивает одну панель в заголовок другой области или при вызове метода CDockablePane::AttachToTabWnd для программного создания панели с вкладками из двух док-панелей.
Класс среды выполнения по умолчанию задается в соответствии с параметром dwTabbedStyleCDockablePane::Create и CDockablePane::CreateEx. Чтобы настроить новые области табуляции, наследуйте класс из одного из следующих классов:
класс
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