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


Класс CMFCAutoHideBar

Класс CMFCAutoHideBar — это специальный класс панели инструментов, реализующий возможность автоматического скрытия.

Дополнительные сведения см. в исходном коде, расположенном в папке VC\atlmfc\src\mfc установки Visual Studio.

Синтаксис

class CMFCAutoHideBar : public CPane

Участники

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

Имя Описание
CMFCAutoHideBar::CMFCAutoHideBar

Открытые методы

Имя Описание
CMFCAutoHideBar::AddAutoHideWindow
CMFCAutoHideBar::AllowShowOnPaneMenu (Переопределяет CPane::AllowShowOnPaneMenu.)
CMFCAutoHideBar::CalcFixedLayout (Переопределения CBasePane::CalcFixedLayout.)
CMFCAutoHideBar::Create Создает панель управления и присоединяет ее к объекту CPane . (Переопределения CPane::Create.)
CMFCAutoHideBar::GetFirstAHWindow
CMFCAutoHideBar::GetVisibleCount
CMFCAutoHideBar::OnShowControlBarMenu Вызывается платформой непосредственно перед отображением меню особой панели. (Переопределения CPane::OnShowControlBarMenu.)
CMFCAutoHideBar::RemoveAutoHideWindow
CMFCAutoHideBar::SetActiveInGroup (Переопределения CPane::SetActiveInGroup.)
CMFCAutoHideBar::SetRecentVisibleState
CMFCAutoHideBar::ShowAutoHideWindow
CMFCAutoHideBar::StretchPane Растягивает панель по вертикали или горизонтали. (Переопределения CBasePane::StretchPane.)
CMFCAutoHideBar::UnSetAutoHideMode
CMFCAutoHideBar::UpdateVisibleState

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

Имя Описание
CMFCAutoHideBar::m_nShowAHWndDelay Задержка времени между моментом, когда пользователь помещает курсор мыши на класс CMFCAutoHideButton и момент, когда платформа отображает связанное окно.

Замечания

Когда пользователь переключает область закрепления в режим автоматического скрытия, платформа автоматически создает объект CMFCAutoHideBar. Он также создает необходимые объекты CAutoHideDockSite и CMFCAutoHideButton . Каждый объект CAutoHideDockSite связан с определенным объектом CMFCAutoHideButton.

Класс CMFCAutoHideBar реализует отображение объекта CAutoHideDockSite, когда пользователь наводит указатель мыши на объект CMFCAutoHideButton. Когда панель инструментов получает сообщение WM_MOUSEMOVE, объект CMFCAutoHideBar запускает таймер. Когда отсчет завершается, панели инструментов отправляется уведомление о событии WM_TIMER. Панель инструментов обрабатывает это событие, проверяя, расположен ли указатель мыши на той же кнопке автоматического скрытия, на которой он находился при запуске таймера. В случае положительного результата отображается прикрепленный объект CAutoHideDockSite.

Длительность задержки таймера можно регулировать с помощью параметра m_nShowAHWndDelay. Значение по умолчанию составляет 400 мс.

Пример

В этом примере демонстрируется создание объекта CMFCAutoHideBar и использование его метода GetDockSiteRow.

CMFCAutoHideBar *pParentBar = new CMFCAutoHideBar();
CDockingPanesRow *pParentRow = pParentBar->GetDockSiteRow();

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

CObject

CCmdTarget

CWnd

CBasePane

CPane

CMFCAutoHideBar

Требования

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

CMFCAutoHideBar::AddAutoHideWindow

Добавляет в окно CDockablePane функциональные возможности, которые позволяют ему выполнять автоматическое скрытие.

CMFCAutoHideButton* AddAutoHideWindow(
    CDockablePane* pAutoHideWnd,
    DWORD dwAlignment);

Параметры

pAutoHideWnd
[in] Окно, которое нужно скрыть.

dwAlignment
[in] Значение, указывающее выравнивание кнопки автоматического скрытия с окном приложения.

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

Замечания

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

  • CBRS_ALIGN_LEFT

  • CBRS_ALIGN_RIGHT

  • CBRS_ALIGN_TOP

  • CBRS_ALIGN_BOTTOM

CMFCAutoHideBar::AllowShowOnPaneMenu

virtual BOOL AllowShowOnPaneMenu() const;

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

Замечания

CMFCAutoHideBar::CalcFixedLayout

virtual CSize CalcFixedLayout(
    BOOL bStretch,
    BOOL bHorz);

Параметры

[in] bStretch

[in] bHorz

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

Замечания

CMFCAutoHideBar::CMFCAutoHideBar

Создает объект CMFCAutoHideBar.

CMFCAutoHideBar();

Замечания

CMFCAutoHideBar::Create

virtual BOOL Create(
    LPCTSTR lpszClassName,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID,
    DWORD dwControlBarStyle = AFX_DEFAULT_PANE_STYLE,
    CCreateContext* pContext = NULL);

Параметры

lpszClassName

dwStyle

rect

pParentWnd

nID

dwControlBarStyle

pContext

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

Замечания

CMFCAutoHideBar::GetFirstAHWindow

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

CDockablePane* GetFirstAHWindow();

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

Первое окно автоматического скрытия в приложении или значение NULL, если его не существует.

Замечания

CMFCAutoHideBar::GetVisibleCount

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

int GetVisibleCount();

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

Возвращает количество видимых кнопок автоматического скрытия.

Замечания

CMFCAutoHideBar::m_nShowAHWndDelay

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

int CMFCAutoHideBar::m_nShowAHWndDelay = 400;

Замечания

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

CMFCAutoHideBar::OnShowControlBarMenu

virtual BOOL OnShowControlBarMenu(CPoint);

Параметры

[in] CPoint

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

Замечания

CMFCAutoHideBar::RemoveAutoHideWindow

Удаляет и уничтожает окно автоматического скрытия.

    BOOL RemoveAutoHideWindow(CDockablePane* pAutoHideWnd);

Параметры

CDockablePane* pAutoHideWnd Автоматическое скрытие окна для удаления.

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

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

Замечания

CMFCAutoHideBar::SetActiveInGroup

Помечает строку автоматического скрытия как активную.

virtual void SetActiveInGroup(BOOL bActive);

Параметры

[in] BOOL bActive TRUE для задания активного значения; в противном случае — ЗНАЧЕНИЕ FALSE.

Замечания

См. раздел CPane::SetActiveInGroup.

CMFCAutoHideBar::SetRecentVisibleState

void SetRecentVisibleState(BOOL bState);

Параметры

bState
[in] Состояние для задания.

Замечания

CMFCAutoHideBar::ShowAutoHideWindow

Показывает окно автоматического скрытия.

BOOL ShowAutoHideWindow(
    CDockablePane* pAutoHideWnd,
    BOOL bShow,
    BOOL bDelay);

Параметры

pAutoHideWnd
[in] Окно для отображения.

bShow
[in] Значение TRUE для отображения окна.

bDelay
[in] Этот параметр игнорируется.

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

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

Замечания

CMFCAutoHideBar::StretchPane

Изменение размеров строки автоматического скрытия в свернутом состоянии в соответствии с размерами объекта CMFCAutoHideButton .

virtual CSize StretchPane(
    int nLength,
    BOOL bVert);

Параметры

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

bVert
[in] Значение не используется в базовой реализации. В производных реализациях используйте значение TRUE для обработки ситуации, когда сворачивается по вертикали панель автоматического скрытия, и значение FALSE для случая, когда панель автоматического скрытия свернута по горизонтали.

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

Размер, полученный в результате изменения размера панели.

Замечания

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

CMFCAutoHideBar::UnSetAutoHideMode

Отключает режим автоматического скрытия для группы строк автоматического скрытия.

void UnSetAutoHideMode(CDockablePane* pFirstBarInGroup)

Параметры

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

Замечания

CMFCAutoHideBar::UpdateVisibleState

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

void UpdateVisibleState();

Замечания

См. также

Диаграмма иерархии
Классы
Класс CPane
Класс CAutoHideDockSite
Класс CMFCAutoHideButton