Класс CAutoHideDockSite
Класс CAutoHideDockSite
CDockSite расширяется для реализации панелей док-станции автоматического скрытия.
Синтаксис
class CAutoHideDockSite : public CDockSite
Участники
Открытые конструкторы
Имя | Описание |
---|---|
Имя. | Описание |
CAutoHideDockSite::CAutoHideDockSite |
Формирует объект CAutoHideDockSite . |
CAutoHideDockSite::~CAutoHideDockSite |
Деструктор. |
Открытые методы
Имя | Описание |
---|---|
Имя. | Описание |
CAutoHideDockSite::AllowShowOnPaneMenu |
Указывает, отображается ли он CAutoHideDockSite в меню области. |
CAutoHideDockSite::CanAcceptPane | Определяет, является ли базовый объект панели производным от класса CMFCAutoHideBar. |
CAutoHideDockSite::D ockPane | Закрепление области к этому CAuotHideDockSite объекту. |
CAutoHideDockSite::GetAlignRect | Извлекает размер сайта док-станции в координатах экрана. |
CAutoHideDockSite::RepositionPanes | Перерисовывает область в CAutoHideDockSite области с глобальными полями и интервалами кнопок. |
CAutoHideDockSite::SetOffsetLeft | Задает поле слева от панели закрепления. |
CAutoHideDockSite::SetOffsetRight | Задает поле справа от панели закрепления. |
CAutoHideDockSite::UnSetAutoHideMode | Вызывает CMFCAutoHideBar::UnSetAutoHideMode для объектов.CAutoHideDockSite |
Элементы данных
Имя | Описание |
---|---|
Имя. | Описание |
CAutoHideDockSite::m_nExtraSpace | Определяет размер пространства между панелями инструментов и краем панели док-станции. Это пространство измеряется от левого края или верхнего края в зависимости от выравнивания пространства док-станции. |
Замечания
При вызове CFrameWndEx::EnableAutoHidePanes платформа автоматически создает CAutoHideDockSite
объект. В большинстве случаев не нужно создавать экземпляры или использовать этот класс напрямую.
Панель закрепления — это разрыв между левой стороной панели док-станции и левой стороной класса CMFCAutoHideButton.
Иерархия наследования
Пример
В следующем примере показано, как получить CAutoHideDockSite
объект из CMFCAutoHideBar
объекта, а также задать левые и правые поля панели закрепления.
CAutoHideDockSite *pParentDockBar = DYNAMIC_DOWNCAST(CAutoHideDockSite, pParentBar->GetParentDockSite());
pParentDockBar->SetOffsetLeft(10);
pParentDockBar->SetOffsetRight(10);
Требования
Заголовок: afxautohidedocksite.h
CAutoHideDockSite::CanAcceptPane
Определяет, является ли базовая область объектом CMFCAutoHideBar или производным от CMFCAutoHideBar
него.
virtual BOOL CanAcceptPane(const CBasePane* pBar) const;
Параметры
pBar
[in] Базовая область, которая тестирует платформу.
Возвращаемое значение
ЗНАЧЕНИЕ TRUE, если pBar является производным от CMFCAutoHideBar
; Значение FALSE в противном случае.
Замечания
Если объект базовой панели является производным, CMFCAutoHideBar
он может содержать CAutoHideDockSite
объект.
CAutoHideDockSite::D ockPane
Закрепление области к этому объекту CAutoHideDockSite .
virtual void DockPane(
CPane* pWnd,
AFX_DOCK_METHOD dockMethod,
LPRECT lpRect = NULL);
Параметры
pWnd
[in] Область, которая закрепивает платформу.
dockMethod
[in] Параметры закрепления области.
lpRect
[in] Прямоугольник, указывающий границы закрепленной панели.
Замечания
Реализация по умолчанию не использует параметр dockMethod, который предоставляется для дальнейшего использования.
Если значение lpRect равно NULL, платформа помещает панель в расположение по умолчанию на сайте док-станции. Если сайт док-станции является горизонтальным, расположение по умолчанию находится в левом углу сайта док-станции. В противном случае расположение по умолчанию находится в верхней части сайта док-станции.
CAutoHideDockSite::GetAlignRect
Извлекает размер сайта док-станции в координатах экрана.
void GetAlignRect(CRect& rect) const;
Параметры
rect
[in] Ссылка на прямоугольник. Метод сохраняет размер сайта док-станции в этом прямоугольнике.
Замечания
Прямоугольник корректируется для полей смещения, чтобы они не включались.
CAutoHideDockSite::m_nExtraSpace
Размер пространства между краями класса CAutoHideDockSite и объектами класса CMFCAutoHideBar.
static int m_nExtraSpace;
Замечания
CMFCAutoHideBar
При закреплении на объекте CAutoHideDockSite
он не должен занимать весь сайт док-станции. Эта глобальная переменная управляет дополнительным пространством между левой или верхней границей CMFCAutoHideBar
и соответствующим CAutoHideDockSite
краем. Используется ли верхний или левый край от текущего выравнивания.
CAutoHideDockSite::SetOffsetLeft
Задает поле слева от панели закрепления.
void SetOffsetLeft(int nOffset);
Параметры
nOffset
[in] Новое смещение.
Замечания
Объекты CMFCAutoHideBar размещаются статически на объекте CAutoHideDockSite
. Это означает, что пользователь не может вручную изменить расположение CMFCAutoHideBar
объектов. Метод SetOffsetLeft
управляет интервалом между левой стороной левой CMFCAutoHideBar
части и левой стороной CAutoHideDockSite
.
CAutoHideDockSite::SetOffsetRight
Задает поле справа от панели закрепления.
void SetOffsetRight(int nOffset);
Параметры
nOffset
[in] Новое смещение.
Замечания
Объекты CMFCAutoHideBar размещаются статически на объекте CAutoHideDockSite
. Это означает, что пользователь не может вручную изменить расположение CMFCAutoHideBar
объектов. Метод SetOffsetRight
управляет интервалом между правой стороной правой CMFCAutoHideBar
и правой CAutoHideDockSite
стороны.
CAutoHideDockSite::RepositionPanes
Перерисовывает панели на сайте CAutoHideDockSite.
virtual void RepositionPanes(CRect& rectNewClientArea);
Параметры
rectNewClientArea
[in] Зарезервированное значение.
Замечания
Реализация по умолчанию не использует rectNewClientArea. Она перерисовывает области с полями глобальной панели инструментов и интервалами кнопок.
CAutoHideDockSite::UnSetAutoHideMode
Вызывает CMFCAutoHideBar::UnSetAutoHideMode для объектов на сайте док-станции.
void UnSetAutoHideMode(CMFCAutoHideBar* pAutoHideToolbar);
Параметры
pAutoHideToolbar
[in] Указатель на область объектов CMFCAutoHideBar , расположенную на панели CAutoHideDockSite
объектов .
Замечания
Этот метод ищет строку, содержащую pAutoHideToolbar. Он вызывает CMFCAutoHideBar.UnSetAutoHideMode
все CMFCAutoHideBar
объекты в этой строке. Если pAutoHideToolbar не найден или имеет значение NULL, этот метод вызывает CMFCAutoHideBar.UnSetAutoHideMode
все CMFCAutoHideBar
объекты в объекте CAutoHideDockSite
.