Класс CBasePane

Базовый класс для всех панелей в MFC.

Синтаксис

class CBasePane : public CWnd

Участники

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

Имя Описание
CBasePane::CBasePane Конструктор по умолчанию.
CBasePane::~CBasePane Деструктор.

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

Имя Описание
CBasePane::accHitTest Вызывается платформой для извлечения дочернего элемента или дочернего объекта в заданной точке экрана. (Переопределения CWnd::accHitTest.)
CBasePane::accLocation Вызывается платформой для получения текущего расположения экрана для указанного объекта. (Переопределения CWnd::accLocation.)
CBasePane::AccNotifyObjectFocusEvent CBasePane не использует этот метод.
CBasePane::accSelect Вызывается платформой для изменения выбранной области или перемещения фокуса клавиатурного ввода указанного объекта. (Переопределения CWnd::accSelect.)
CBasePane::AddPane Добавляет область в диспетчер закреплений.
CBasePane::AdjustDockingLayout Перенаправляет вызов диспетчера док-станций для настройки макета док-станции.
CBasePane::AdjustLayout Вызывается платформой, когда панель должна настроить его внутренний макет.
CBasePane::CalcFixedLayout Вычисляет горизонтальный размер панели управления.
CBasePane::CanAcceptPane Определяет, можно ли закрепить другую панель на панели.
CBasePane::CanAutoHide Определяет, поддерживает ли панель режим автоматического скрытия.
CBasePane::CanBeAttached Определяет, можно ли закрепить панель на другой панели.
CBasePane::CanBeClosed Определяет, можно ли закрыть панель.
CBasePane::CanBeDocked Определяет, можно ли закрепить панель на другой панели.
CBasePane::CanBeResized Определяет, можно ли изменить размер области.
CBasePane::CanBeTabbedDocument Указывает, можно ли преобразовать панель в документ с вкладками MDI.
CBasePane::CanFloat Определяет, может ли область плавать.
CBasePane::CanFocus Указывает, может ли область получать фокус.
CBasePane::CopyState Копирует состояние заданной панели.
CBasePane::CreateDefaultMiniframe Если панель может плавать, создав окно мини-кадра.
CBasePane::CreateEx Создает элемент управления панелью.
CBasePane::D ockPane Закрепление области на другой панели или в окне фрейма.
CBasePane::D ockPaneUsingRTTI Закрепление области с помощью сведений о типе времени выполнения.
CBasePane::D ockToFrameWindow Закрепление панели с закреплением к кадру.
CBasePane::D oesAllowDynInsertBefore Определяет, можно ли динамически вставлять другую панель между этой областью и родительским кадром.
CBasePane::EnableDocking Включает закрепление панели к главному кадру.
CBasePane::EnableGripper Включает или отключает захват. Если сцепление включено, пользователь может перетащить его, чтобы изменить положение панели.
CBasePane::FillWindowRect Используется внутри системы.
CBasePane::FloatPane С плавающей областью.
CBasePane::get_accChild Вызывается платформой для извлечения адреса интерфейса IDispatch для указанного дочернего элемента. (Переопределения CWnd::get_accChild.)
CBasePane::get_accChildCount Вызывается платформой для получения числа дочерних элементов, принадлежащих этому объекту. (Переопределения CWnd::get_accChildCount.)
CBasePane::get_accDefaultAction Вызывается платформой для получения строки, описывающей действие по умолчанию для объекта. (Переопределения CWnd::get_accDefaultAction.)
CBasePane::get_accDescription Вызывается платформой для извлечения строки, описывающей внешний вид указанного объекта. (Переопределения CWnd::get_accDescription.)
CBasePane::get_accFocus Вызывается платформой для извлечения объекта, имеющего фокус клавиатурного ввода. (Переопределения CWnd::get_accFocus.)
CBasePane::get_accHelp Вызывается платформой для получения строки свойства справки для объекта. (Переопределения CWnd::get_accHelp.)
CBasePane::get_accHelpTopic Вызывается платформой для получения полного пути к файлу WinHelp, связанному с указанным объектом, и идентификатором соответствующего раздела в этом файле. (Переопределения CWnd::get_accHelpTopic.)
CBasePane::get_accKeyboardShortcut Вызывается платформой для получения указанного сочетания клавиш для объекта. (Переопределения CWnd::get_accKeyboardShortcut.)
CBasePane::get_accName Вызывается платформой для извлечения имени указанного объекта. (Переопределения CWnd::get_accName.)
CBasePane::get_accParent Вызывается платформой для получения IDispatch интерфейса для родительского объекта. (Переопределения CWnd::get_accParent.)
CBasePane::get_accRole Вызывается платформой для извлечения информации, описывающей роль указанного объекта. (Переопределения CWnd::get_accRole.)
CBasePane::get_accSelection Вызывается платформой для извлечения выбранного дочернего элемента этого объекта. (Переопределения CWnd::get_accSelection.)
CBasePane::get_accState Вызывается платформой для извлечения текущего состояния указанного объекта. (Переопределения CWnd::get_accState.)
CBasePane::get_accValue Вызывается платформой для извлечения значения указанного объекта. (Переопределения CWnd::get_accValue.)
CBasePane::GetCaptionHeight Возвращает высоту заголовка.
CBasePane::GetControlBarStyle Возвращает стиль панели управления.
CBasePane::GetCurrentAlignment Возвращает текущее выравнивание области.
CBasePane::GetDockingMode Возвращает текущий режим док-станции для области.
CBasePane::GetDockSiteFrameWnd Возвращает указатель на окно, которое является сайтом док-станции для области.
CBasePane::GetEnabledAlignment Возвращает стили CBRS_ALIGN_, применяемые к области.
CBasePane::GetMFCStyle Возвращает стили панели, относящиеся к MFC.
CBasePane::GetPaneIcon Возвращает дескриптор на значок области.
CBasePane::GetPaneRect Используется внутри системы.
CBasePane::GetPaneRow Возвращает указатель на объект CDockingPanesRow, на котором закреплена панель.
CBasePane::GetPaneStyle Возвращает стиль панели.
CBasePane::GetParentDockSite Возвращает указатель на родительский сайт док-станции.
CBasePane::GetParentMiniFrame Возвращает указатель на родительское окно мини-кадра.
CBasePane::GetParentTabbedPane Возвращает указатель на родительскую панель вкладок.
CBasePane::GetParentTabWnd Возвращает указатель на родительское окно, которое находится на вкладке.
CBasePane::GetRecentVisibleState Платформа вызывает этот метод при восстановлении области из архива.
CBasePane::HideInPrintPreviewMode Указывает, скрыта ли область в предварительном просмотре печати.
CBasePane::InsertPane Регистрирует указанную область в диспетчере закреплений.
CBasePane::IsAccessibilityCompatible Указывает, поддерживает ли область активные специальные возможности.
CBasePane::IsAutoHideMode Определяет, находится ли панель в режиме автоматического скрытия.
CBasePane::IsDialogControl Указывает, является ли область элементом управления диалоговым окном.
CBasePane::IsDocked Определяет, закреплена ли панель.
CBasePane::IsFloating Определяет, плавает ли область.
CBasePane::IsHorizontal Определяет, закреплена ли область по горизонтали.
CBasePane::IsInFloatingMultiPaneFrameWnd Указывает, находится ли панель в окне кадров с несколькими панелями.
CBasePane::IsMDITabbed Определяет, была ли панель добавлена в дочернее окно MDI в виде документа с вкладками.
CBasePane::IsPaneVisible Указывает, задан ли флаг WS_VISIBLE для области.
CBasePane::IsPointNearDockSite Определяет, находится ли указанная точка рядом с сайтом док-станции.
CBasePane::IsResizable Определяет, можно ли изменить размер области.
CBasePane::IsRestoredFromRegistry Определяет, восстанавливается ли область из реестра.
CBasePane::IsTabbed Определяет, была ли панель вставлена в элемент управления вкладкой окна табуляции.
CBasePane::IsTooltipTopmost Используется внутри системы.
CBasePane::IsVisible Определяет, отображается ли область.
CBasePane::LoadState Загружает состояние панели из реестра.
CBasePane::MoveWindow Перемещает область.
CBasePane::OnAfterChangeParent Вызывается платформой при изменении родительского элемента области.
CBasePane::OnBeforeChangeParent Вызывается платформой непосредственно перед изменением родительского окна панели.
CBasePane::OnDrawCaption Платформа вызывает этот метод при рисовании подпись.
CBasePane::OnMovePaneDivider Этот метод в настоящее время не используется.
CBasePane::OnPaneContextMenu Вызывается платформой при создании меню с списком панелей.
CBasePane::OnRemoveFromMiniFrame Вызывается платформой, когда панель удаляется из родительского окна мини-кадра.
CBasePane::OnSetAccData CBasePane не использует этот метод.
CBasePane::OnUpdateCmdUI Используется внутри системы.
CBasePane::P aneFromPoint Возвращает область, содержащую заданную точку.
CBasePane::PreTranslateMessage Используется классом CWinApp для преобразования сообщений окна перед их передачей функциям Windows TranslateMessage и DispatchMessage . (Переопределяет CWnd::PreTranslateMessage.)
CBasePane::RecalcLayout CBasePane не использует этот метод.
CBasePane::RemovePaneFromDockManager Отменяет регистрацию области и удаляет ее из списка в диспетчере закреплений.
CBasePane::SaveState Сохраняет состояние панели в реестр.
CBasePane::SelectDefaultFont Выбирает шрифт по умолчанию для заданного контекста устройства.
CBasePane::Serialize Считывает этот объект из архива или записывает в него. (Переопределяет CObject::Serialize.)
CBasePane::SetControlBarStyle Задает стиль панели управления.
CBasePane::SetDockingMode Задает режим док-станции для области.
CBasePane::SetMDITabbed Используется внутри системы.
CBasePane::SetPaneAlignment Задает выравнивание области.
CBasePane::SetPaneRect Используется внутри системы.
CBasePane::SetPaneStyle Задает стиль панели.
CBasePane::SetRestoredFromRegistry Используется внутри системы.
CBasePane::SetWindowPos Изменяет размер, позицию и порядок Z области.
CBasePane::ShowPane Отображает или скрывает область.
CBasePane::StretchPane Растягивает панель по вертикали или горизонтали.
CBasePane::UndockPane Удаляет область с сайта док-станции, ползунка по умолчанию или окна мини-кадра, где он в настоящее время закреплен.

Защищенные методы

Имя Описание
CBasePane::D oPaint Заполняет фон области.

Замечания

Если вы хотите создать класс области, поддерживающий расширенные функции док-станции, доступные в MFC, необходимо наследовать его из класса CPane или из CBasePaneнего.

Советы по настройке

Следующие советы по настройке относятся к CBasePane Class классам, наследуемым от него:

  • При создании области можно применить несколько новых стилей:

    • AFX_CBRS_FLOAT делает область плавающей.

    • AFX_CBRS_AUTOHIDE включает режим автоматического скрытия.

    • AFX_CBRS_CLOSE позволяет закрыть область (скрытую).

    Это флаги, которые можно объединить с побитовой операцией OR.

CBasePane реализует следующие виртуальные логические методы для отражения этих флагов: CBasePane::CanBeClosed, CBasePane::CanAutoHide, CBasePane::CanFloat. Их можно переопределить в производных классах, чтобы настроить их поведение.

  • Поведение прикрепления можно настроить, переопределив CBasePane::CanAcceptPane. Верните область false из этого метода, чтобы предотвратить закрепление другой панели к ней.

  • Если вы хотите создать статическую панель, которая не может плавать и которая предотвращает закрепление любой другой панели перед ней (аналогично строке Outlook в примере OutlookDemo), создайте ее как не с плавающей и переопределите CBasePane::D oesAllowDynInsertBefore для возврата FALSE. Реализация по умолчанию возвращает значение FALSE, если область создается без стиля AFX_CBRS_FLOAT.

  • Создайте все панели с идентификаторами, отличными от -1.

  • Чтобы определить видимость панели, используйте CBasePane::IsVisible. Он правильно обрабатывает состояние видимости в режимах табуляции и автоматического скрытия.

  • Если вы хотите создать не плавающую область изменения размера, создайте ее без стиля AFX_CBRS_FLOAT и вызовите CFrameWnd::D ockControlBar.

  • Чтобы исключить панель из макета док-станции или удалить панель инструментов из панели док-станции, вызовите CBasePane::UndockPane. Не вызывайте этот метод для панелей в режиме автоматического скрытия или для панелей, которые находятся на вкладках вкладок в окнах с вкладками.

  • Если вы хотите присвоить или открепить панель, которая находится в режиме автоматического скрытия, необходимо вызвать CDockablePane::SetAutoHideMode в качестве первого аргумента перед вызовом CBasePane::FloatPane или CBasePane::UndockPane.

Пример

В приведенном ниже примере демонстрируется использование различных методов класса CBasePane . В этом примере показано, как получить панель из CFrameWndEx класса и как задать режим закрепления, выравнивание области и стиль области. Код находится в примере Word Pad.

// This CMainFrame class extends the CFrameWndEx class.
// GetPane is a method in the CFrameWndEx class which
// Returns a pointer to the pane that has the specified ID.
CBasePane *pBar = GetPane(ID_VIEW_FORMATBAR);
if (pBar != NULL)
{
    // Set the docking mode, the pane alignment, and the pane style.
    pBar->SetDockingMode(DT_STANDARD);
    pBar->SetPaneAlignment(CBRS_ALIGN_LEFT);
    pBar->SetPaneStyle(pBar->GetCurrentAlignment() | CBRS_TOOLTIPS);
    pBar->ShowPane(TRUE, FALSE, FALSE);
}

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

CObject

CCmdTarget

CWnd

Cbasepane

Требования

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

CBasePane::AccNotifyObjectFocusEvent

CBasePane не использует этот метод.

virtual void AccNotifyObjectFocusEvent(int);

Параметры

int
[in] Не используется.

CBasePane::AddPane

Добавляет область в диспетчер закреплений.

void AddPane(CBasePane* pBar);

Параметры

pBar
[in] Указатель на панель для добавления.

Замечания

Это удобный метод, который добавляет панель в диспетчер закреплений. Используя этот метод, вам не нужно писать код, который анализирует тип родительского кадра.

Дополнительные сведения см. в разделе "Класс CDockingManager" и CMDIFrameWndEx::AddPane.

CBasePane::AdjustDockingLayout

Перенаправляет вызов диспетчера док-станций для настройки макета док-станции.

virtual void AdjustDockingLayout(HDWP hdwp=NULL);

Параметры

hdwp
[out] Дескриптор структуры, содержащей несколько позиций окна.

Замечания

Это удобный метод, который настраивает макет прикрепления. Используя этот метод, вам не нужно писать код, который анализирует тип родительского кадра.

Дополнительные сведения см. в разделе CDockingManager::AdjustDockingLayout

CBasePane::AdjustLayout

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

virtual void AdjustLayout();

Замечания

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

CBasePane::CalcFixedLayout

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

virtual CSize CalcFixedLayout(
    BOOL bStretch,
    BOOL bHorz);

Параметры

bStretch
[in] Указывает, должна ли полоса быть растянута до размера кадра. Параметр bStretch не является ненулевой, если панель не является закрепления (недоступной для док-станции) и имеет значение 0, если он закреплен или плавает (доступен для закрепления).

bHorz
[in] Указывает, что панель по горизонтали или вертикали ориентирована. Параметр bHorz является ненулевой, если полоса горизонтально ориентирована и имеет значение 0, если она ориентирована по вертикали.

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

Размер панели управления (в пикселях) CSize объекта.

Замечания

См. раздел "Замечания" в CControlBar::CalcFixedLayout

CBasePane::CanAcceptPane

Определяет, можно ли закрепить другую панель на панели.

virtual BOOL CanAcceptPane(const CBasePane* pBar) const;

Параметры

pBar
[in] Указатель на панель для док-станции.

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

ЗНАЧЕНИЕ TRUE, если можно принять другую область; в противном случае ЗНАЧЕНИЕ FALSE.

Замечания

Платформа вызывает этот метод перед закреплением области, указанной pBar , к текущей области.

Используйте этот метод и метод CBasePane::CanBeDocked для управления закреплением панелей к другим панелям в приложении.

Реализация по умолчанию возвращает FALSE.

CBasePane::CanAutoHide

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

virtual BOOL CanAutoHide() const;

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

ЗНАЧЕНИЕ TRUE, если эта область поддерживает режим автоматического скрытия; в противном случае ЗНАЧЕНИЕ FALSE.

Замечания

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

Во время строительства эту возможность можно задать, передав флаг AFX_CBRS_AUTOHIDE в CBasePane::CreateEx.

Реализация по умолчанию проверка для флага AFX_CBRS_AUTOHIDE. Переопределите этот метод в производном классе, чтобы настроить это поведение.

CBasePane::CanBeAttached

Определяет, можно ли закрепить панель на другой панели или в окне кадра.

virtual BOOL CanBeAttached() const;

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

ЗНАЧЕНИЕ TRUE, если панель может быть закреплена на другой панели или в окне кадра; в противном случае ЗНАЧЕНИЕ FALSE.

Замечания

Реализация по умолчанию возвращает FALSE. Переопределите этот метод в производном классе, чтобы включить или отключить возможность прикрепления без вызова CBasePane::EnableDocking.

CBasePane::CanBeClosed

Определяет, можно ли закрыть панель.

virtual BOOL CanBeClosed() const;

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

ЗНАЧЕНИЕ TRUE, если панель может быть закрыта; в противном случае ЗНАЧЕНИЕ FALSE.

Замечания

Платформа вызывает этот метод, чтобы определить, может ли область быть закрыта. Если метод возвращает значение TRUE, кнопка "Закрыть " добавляется в строку заголовка области или, если область плавает, в заголовок окна мини-кадра панели.

Во время строительства эту возможность можно задать, передав флаг AFX_CBRS_CLOSE в CBasePane::CreateEx.

Реализация по умолчанию проверка для флага AFX_CBRS_CLOSE.

CBasePane::CanBeDocked

Определяет, можно ли закрепить панель на другой панели.

virtual BOOL CanBeDocked(CBasePane* pDockBar) const;

Параметры

pDockBar
[in] Указатель на другую область.

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

ЗНАЧЕНИЕ TRUE, если эта панель может быть закреплена на другой панели; в противном случае ЗНАЧЕНИЕ FALSE.

Замечания

Платформа вызывает этот метод перед закреплением области, указанной pDockBar , к текущей области.

Используйте этот метод и метод CBasePane::CanAcceptPane для управления закреплением панелей к другим панелям в приложении.

Реализация по умолчанию возвращает FALSE.

CBasePane::CanBeResized

Определяет, можно ли изменить размер области.

virtual BOOL CanBeResized() const;

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

ЗНАЧЕНИЕ TRUE, если область может быть изменена; в противном случае — ЗНАЧЕНИЕ FALSE.

Замечания

Этот метод проверка для флага AFX_CBRS_RESIZE, указанного по умолчаниюCBasePane::OnCreate. Если этот флаг не указан, диспетчер закрепления помечает панель внутренне как не закрепленную.

CBasePane::CanBeTabbedDocument

Указывает, можно ли преобразовать панель в документ с вкладками MDI.

virtual BOOL CanBeTabbedDocument() const;

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

ЗНАЧЕНИЕ TRUE, если панель может быть преобразована в документ с вкладками; в противном случае — ЗНАЧЕНИЕ FALSE. CBasePane::CanBeTabbedDocument всегда возвращает значение FALSE.

Замечания

Можно преобразовать только объекты определенных CBasePaneпроизводных типов, таких как класс CDockablePane, в документы с вкладками.

CBasePane::CanFloat

Определяет, может ли область плавать.

virtual BOOL CanFloat() const;

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

ЗНАЧЕНИЕ TRUE, если панель может плавать; в противном случае ЗНАЧЕНИЕ FALSE.

Замечания

Платформа вызывает этот метод, чтобы определить, может ли область плавать.

Во время строительства эту возможность можно задать, передав флаг AFX_CBRS_FLOAT в CBasePane::CreateEx.

Примечание.

Платформа предполагает, что не плавающие панели являются статическими и что их состояние закрепления не может измениться. Поэтому платформа не сохраняет состояние док-станции не с плавающей запятой.

Реализация по умолчанию проверка для стиля AFX_CBRS_FLOAT.

CBasePane::CanFocus

Указывает, может ли область получать фокус.

virtual BOOL CanFocus() const;

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

ЗНАЧЕНИЕ TRUE, если область может получать фокус; в противном случае ЗНАЧЕНИЕ FALSE.

Замечания

Переопределите этот метод в производном классе для управления фокусом. Например, поскольку панели инструментов не могут получать фокус, этот метод возвращает ЗНАЧЕНИЕ FALSE при вызове объектов панели инструментов.

Платформа пытается задать фокус ввода при закреплении или плавающей области.

CBasePane::CopyState

Копирует состояние заданной панели.

virtual void CopyState(CBasePane* pOrgBar);

Параметры

pOrgBar
[in] Указатель на другую область.

Замечания

Этот метод копирует состояние из pOrgBar в эту область.

CBasePane::CreateDefaultMiniframe

Если область может плавать, этот метод создает для него окно мини-кадра.

virtual CPaneFrameWnd* CreateDefaultMiniframe(CRect rectInitial);

Параметры

rectInitial
[in] Задает начальные координаты окна мини-кадра.

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

Указатель на новое окно мини-кадра или NULL, если не удалось создать.

Замечания

Платформа вызывает этот метод, когда панель переключается на состояние с плавающей запятой. Метод создает окно мини-кадра и присоединяет область к этому окну.

Реализация по умолчанию возвращает ЗНАЧЕНИЕ NULL.

CBasePane::CreateEx

Создает элемент управления панелью.

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

Параметры

dwStyleEx
[in] Расширенные стили (дополнительные сведения см. в разделе CWnd::CreateEx ).

lpszClassName
[in] Имя класса окна.

lpszWindowName
[in] Имя окна.

dwStyle
[in] Стиль окна (см. CWnd ::CreateEx).

rect
[in] Начальный прямоугольник.

pParentWnd
[in] Указатель на родительское окно.

Nid
[in] Указывает идентификатор области. Должен быть уникальным.

dwControlBarStyle
[in] Флаги стиля для панелей.

pContext
[in] Указатель на CcreateContext

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

ЗНАЧЕНИЕ TRUE, если область создана успешно; в противном случае ЗНАЧЕНИЕ FALSE.

Замечания

Создает окно класса lpszClassName. Если указать WS_CAPTION, этот метод очищает бит стиля WS_CAPTION и задает CBasePane::m_bHasCaption значение TRUE, так как библиотека не поддерживает области с подпись.

Вы можете использовать любое сочетание стилей дочерних окон и стилей панели управления MFC (CBRS_).

Библиотека добавляет несколько новых стилей для панелей. В следующей таблице описываются новые стили:

Стиль Description
AFX_CBRS_FLOAT Панель может плавать.
AFX_CBRS_AUTOHIDE Панель поддерживает режим автоматического скрытия
AFX_CBRS_RESIZE Область может быть изменена. Важно. Этот стиль не реализован.
AFX_CBRS_CLOSE Область может быть закрыта.
AFX_CBRS_AUTO_ROLLUP Область может быть свернута, когда она плавает.
AFX_CBRS_REGULAR_TABS При закреплении одной панели к другой области с этим стилем создается регулярное окно с вкладками. (Дополнительные сведения см. в разделе Класс CTabbedPane.)
AFX_CBRS_OUTLOOK_TABS При закреплении одной панели к другой области с этим стилем создается окно с вкладками в стиле Outlook. (Дополнительные сведения см. в разделе Класс CMFCOutlookBar.)

Чтобы использовать новые стили, укажите их в dwControlBarStyle.

CBasePane::D ockPane

Закрепление области на другой панели или в окне фрейма.

virtual BOOL DockPane(
    CBasePane* pDockBar,
    LPCRECT lpRect,
    AFX_DOCK_METHOD dockMethod);

Параметры

pDockBar
[in] Указатель на другую область.

lpRect
[in] Задает прямоугольник назначения.

dockMethod
[in] Указывает метод закрепления.

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

ЗНАЧЕНИЕ TRUE, если панель управления была успешно закреплена; в противном случае — ЗНАЧЕНИЕ FALSE.

Замечания

Вызовите эту функцию, чтобы закрепить панель на другой панели или панели док-станции (класс CDockSite), указанной pDockBar, или к главному кадру, если pDockBar имеет значение NULL.

dockMethod указывает, как закреплена область. Список возможных значений см. в разделе CPane::D ockPane .

CBasePane::D ockPaneUsingRTTI

Закрепление области с помощью сведений о типе времени выполнения.

void DockPaneUsingRTTI(BOOL bUseDockSite);

Параметры

bUseDockSite
[in] Если значение TRUE, док-станции док-станции. Если значение FALSE, прикрепите к родительскому кадру.

CBasePane::D ockToFrameWindow

Закрепление панели с закреплением к кадру.

virtual BOOL DockToFrameWindow(
    DWORD dwAlignment,
    LPCRECT lpRect = NULL,
    DWORD dwDockFlags = DT_DOCK_LAST,
    CBasePane* pRelativeBar = NULL,
    int nRelativeIndex = -1,
    BOOL bOuterEdge = FALSE);

Параметры

dwAlignment
[in] Сторона родительского кадра, к которой требуется закрепить область.

lpRect
[in] Требуемый размер.

dwDockFlags
[in] Игнорировать.

pRelativeBar
[in] Игнорировать.

nRelativeIndex
[in] Игнорировать.

bOuterEdge
[in] Если значение TRUE и на стороне, указанной dwAlignment, находятся другие панели, расположенные рядом с другими панелями, ближе к краю родительского кадра. Если значение FALSE, область закреплена ближе к центру клиентской области.

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

ЗНАЧЕНИЕ TRUE, если метод выполнен успешно; в противном случае ЗНАЧЕНИЕ FALSE.

Замечания

Этот метод завершается ошибкой, если не удается создать разделитель области ( класс CPaneDivider). В противном случае всегда возвращается ЗНАЧЕНИЕ TRUE.

CBasePane::D oesAllowDynInsertBefore

Определяет, можно ли динамически вставлять другую панель между этой областью и родительским кадром.

virtual BOOL DoesAllowDynInsertBefore() const;

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

ЗНАЧЕНИЕ TRUE, если пользователь может вставить другую панель; в противном случае ЗНАЧЕНИЕ FALSE.

Замечания

Платформа вызывает этот метод, чтобы определить, может ли пользователь динамически вставлять панель перед этой областью.

Например, предположим, что приложение создает панель, закрепленную в левой части кадра (например, панель Outlook). Чтобы предотвратить закрепление пользователя на другой панели слева от первой панели, переопределите этот метод и верните значение FALSE.

Рекомендуется переопределить этот метод и вернуть значение FALSE для неплавующих панелей, производных от класса CDockablePane.

Реализация по умолчанию возвращает ЗНАЧЕНИЕ TRUE.

CBasePane::D oPaint

Заполняет фон области.

virtual void DoPaint(CDC* pDC);

Параметры

pDC
[in] Указатель на контекст устройства.

Замечания

Реализация по умолчанию вызывает текущий визуальный менеджер для заполнения фона ( CMFCVisualManager::OnFillBarBackground).

CBasePane::EnableDocking

Включает закрепление панели к главному кадру.

virtual void EnableDocking(DWORD dwAlignment);

Параметры

dwAlignment
[in] Указывает выравнивание док-станции для включения.

Замечания

Вызовите этот метод, чтобы включить выравнивание прикрепления к главному кадру. Вы можете передать сочетание флагов CBRS_ALIGN_ (дополнительные сведения см. в разделе CControlBar::EnableDocking).

EnableDockingзадает внутренний флаг CBasePane::m_dwEnabledAlignment и платформу проверка этот флаг при закреплении панели.

Вызовите CBasePane::GetEnabledAlignment , чтобы определить выравнивание прикрепления для области.

CBasePane::EnableGripper

Включает или отключает захват. Если сцепление включено, пользователь может перетащить его, чтобы изменить положение панели.

virtual void EnableGripper(BOOL bEnable);

Параметры

bEnable
[in] ЗНАЧЕНИЕ TRUE для включения захвата; Значение FALSE, чтобы отключить его.

Замечания

Платформа использует этот метод для включения захвата вместо использования стиля WS_CAPTION.

CBasePane::FloatPane

С плавающей областью.

virtual BOOL FloatPane(
    CRect rectFloat,
    AFX_DOCK_METHOD dockMethod=DM_UNKNOWN,
    bool bShow=true);

Параметры

rectFloat
[in] Указывает координаты экрана, в которых отображается плавающая панель.

dockMethod
[in] Указывает метод док-станции, используемый для плавающей панели.

bShow
[in] Указывает, отображается ли плавающая область (TRUE) или скрыта (FALSE).

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

ЗНАЧЕНИЕ TRUE, если область успешно плавала; в противном случае ЗНАЧЕНИЕ FALSE.

Замечания

Вызовите этот метод, чтобы с плавать панелью в позиции экрана, указанной прямоугольникомFloat.

CBasePane::get_accHelpTopic

Платформа вызывает этот метод, чтобы получить полный путь к файлу WinHelp , связанному с указанным объектом и идентификатором соответствующего раздела в этом файле.

virtual HRESULT get_accHelpTopic(
    BSTR* pszHelpFile,
    VARIANT varChild,
    long* pidTopic);

Параметры

pszHelpFile
[in] Адрес BSTR, который получает полный путь к файлу WinHelp , связанному с указанным объектом, при наличии.

varChild
[in] Указывает, является ли извлекаемый раздел справки объектом или одним из дочерних элементов объекта. Этот параметр может быть либо CHILDID_SELF (чтобы получить раздел справки для объекта) или дочерний идентификатор (чтобы получить раздел справки для одного из дочерних элементов объекта).

pidTopic
[in] Определяет раздел файла справки , связанный с указанным объектом.

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

CBasePane не реализует этот метод. CBasePane::get_accHelpTopic Поэтому всегда возвращается S_FALSE.

Замечания

Эта функция является частью поддержки активных специальных возможностей в MFC. Переопределите эту функцию в производном классе, чтобы предоставить сведения о вашем объекте.

CBasePane::get_accSelection

Платформа вызывает этот метод для получения выбранных дочерних элементов этого объекта.

virtual HRESULT get_accSelection(VARIANT* pvarChildren);

Параметры

pvarChildren
[in] Получает сведения, определяющие выбранные дочерние элементы.

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

CBasePane не реализует этот метод. Если pvarChildren имеет значение NULL, этот метод возвращает E_INVALIDARG. В противном случае этот метод возвращает DISP_E_MEМБ ERNOTFOUND.

Замечания

Эта функция является частью поддержки активных специальных возможностей в MFC. Переопределите эту функцию в производном классе, если у вас нет элементов пользовательского интерфейса, отличных от элементов ActiveX без окон.

CBasePane::GetCaptionHeight

Возвращает высоту заголовка.

virtual int GetCaptionHeight() const;

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

Высота заголовка.

CBasePane::GetControlBarStyle

Возвращает стиль панели управления.

virtual DWORD GetControlBarStyle() const

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

Побитовое сочетание флагов AFX_CBRS_ ИЛИ.

Замечания

Возвращаемое значение — это сочетание следующих возможных значений.

Стиль Description
AFX_CBRS_FLOAT Делает панель управления плавающей.
AFX_CBRS_AUTOHIDE Включает режим автоматического скрытия.
AFX_CBRS_RESIZE Включает изменение размера панели управления. Если этот флаг установлен, панель управления может быть помещена в закрепления.
AFX_CBRS_CLOSE Включает скрытие панели управления.

CBasePane::GetCurrentAlignment

Возвращает текущее выравнивание области.

virtual DWORD GetCurrentAlignment() const;

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

Текущее выравнивание панели управления. В таблице ниже приведены возможные значения.

Значение Точное понимание
CBRS_ALIGN_LEFT Выравнивание по левому краю.
CBRS_ALIGN_RIGHT Выравнивание по правому краю.
CBRS_ALIGN_TOP Выравнивание сверху.
CBRS_ALIGN_BOTTOM Выравнивание по нижнему краю.

CBasePane::GetDockingMode

Возвращает текущий режим док-станции для области.

virtual AFX_DOCK_TYPE GetDockingMode() const;

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

DT_STANDARD, если перетаскивание области отображается на экране прямоугольником перетаскивания. DT_IMMEDIATE, если содержимое области перетаскивается.

Замечания

Платформа вызывает этот метод, чтобы определить текущий режим закрепления панели.

Если CBasePane::m_dockMode значение не определено (DT_UNDEFINED), то режим док-станции принимается из глобального режима док-станции (AFX_GLOBAL_DATA::m_dockModeGlobal).

Задав GetDockingMode m_dockMode или переопределив режим док-станции для каждой области.

CBasePane::GetDockSiteFrameWnd

Возвращает указатель на объект CDockingPanesRow, на котором закреплена панель.

virtual CWnd* GetDockSiteFrameWnd() const;

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

Указатель на сайт док-станции панели.

Замечания

Вызовите этот метод, чтобы получить указатель на сайт док-станции панели. Сайт док-станции может быть либо главным окном фрейма, если панель закреплена к главному кадру, либо окно мини-кадра, если область плавает.

CBasePane::GetEnabledAlignment

Возвращает стили CBRS_ALIGN_, применяемые к области.

virtual DWORD GetEnabledAlignment() const;

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

Сочетание стилей CBRS_ALIGN_. В следующей таблице показаны возможные стили:

Флаг Выравнивание включено
CBRS_ALIGN_LEFT Левой.
CBRS_ALIGN_RIGHT Так.
CBRS_ALIGN_TOP Top.
CBRS_ALIGN_BOTTOM Нижней.
CBRS_ALIGN_ANY Сочетание всех флагов.

Замечания

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

Включите выравнивание док-станции с помощью CBasePane::EnableDocking.

CBasePane::GetMFCStyle

Возвращает стили панели, относящиеся к MFC.

virtual DWORD GetMFCStyle() const;

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

Сочетание стилей областей для конкретной библиотеки (AFX_CBRS_).

CBasePane::GetPaneIcon

Возвращает дескриптор на значок области.

virtual HICON GetPaneIcon(BOOL bBigIcon);

Параметры

bBigIcon
[in] Указывает значок 32 пикселя на 32 пикселя, если значение TRUE; указывает значок 16 пикселей на 16 пикселей, если значение FALSE.

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

Дескриптор на значок области. В случае неудачи возвращает значение NULL.

Замечания

Реализация по умолчанию вызывает CWnd::GetIcon.

CBasePane::GetPaneRow

Возвращает указатель на объект CDockingPanesRow, на котором закреплена панель.

CDockingPanesRow* GetPaneRow();

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

Указатель на CDockingPanesRow то, если панель закреплена, или значение NULL, если она плавает.

Замечания

Вызовите этот метод для доступа к строке, в которой закреплена панель. Например, чтобы упорядочить панели в определенной строке, вызвать GetPaneRow и вызвать CDockingPanesRow::ArrangePanes.

CBasePane::GetPaneStyle

Возвращает стиль панели.

virtual DWORD GetPaneStyle() const;

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

Сочетание стилей панели управления (включая стили CBRS_), которое было задано методом CBasePane::SetPaneStyle во время создания.

CBasePane::GetParentDockSite

Возвращает указатель на родительский сайт док-станции.

virtual CDockSite* GetParentDockSite() const;

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

Родительский сайт док-станции.

CBasePane::GetParentMiniFrame

Возвращает указатель на родительское окно мини-кадра.

virtual CPaneFrameWnd* GetParentMiniFrame(BOOL bNoAssert=FALSE) const;

Параметры

bNoAssert
[in] Если значение TRUE, этот метод не проверка для недопустимых указателей. Если этот метод вызывается при выходе приложения, задайте для этого параметра значение TRUE.

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

Допустимый указатель на родительское окно мини-кадра, если область плавает; в противном случае ЗНАЧЕНИЕ NULL.

Замечания

Вызовите эту функцию, чтобы получить указатель на родительское окно мини-кадра. Этот метод выполняет итерацию всех родителей и проверка для объекта, производного от класса CPaneFrameWnd.

Используется GetParentMiniFrame для определения того, плавает ли область.

CBasePane::GetParentTabbedPane

Возвращает указатель на родительскую панель вкладок.

CBaseTabbedPane* GetParentTabbedPane() const;

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

Указатель на родительскую панель табуляции, если она существует; в противном случае ЗНАЧЕНИЕ NULL.

CBasePane::GetParentTabWnd

Возвращает указатель на родительское окно, которое находится на вкладке.

CMFCBaseTabCtrl* GetParentTabWnd(HWND& hWndTab) const;

Параметры

hWndTab
[out] Если возвращаемое значение не равно NULL, этот параметр содержит дескриптор родительского окна табуляции.

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

Допустимый указатель на родительское окно с вкладками или NULL.

Замечания

Эта функция используется для получения указателя на родительское окно с вкладками. Иногда не хватает вызоваGetParent, так как область может находиться внутри закрепления оболочки (класс CDockablePaneAdapter) или внутри адаптера области (класс CDockablePaneAdapter). Используя GetParentTabWnd вы сможете получить допустимый указатель в этих случаях (предположим, что родительский элемент является окном табуляции).

CBasePane::GetRecentVisibleState

Платформа вызывает этот метод при восстановлении области из архива.

virtual BOOL GetRecentVisibleState() const;

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

BoOL, указывающий последнее видимое состояние. Если значение TRUE, область была видна при сериализации и должна быть видна при восстановлении. Если значение FALSE, область была скрыта при сериализации и должна быть скрыта при восстановлении.

CBasePane::HideInPrintPreviewMode

Указывает, скрыта ли область в предварительном просмотре печати.

virtual BOOL HideInPrintPreviewMode() const;

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

ЗНАЧЕНИЕ TRUE, если панель не отображается в предварительном просмотре печати; в противном случае — ЗНАЧЕНИЕ FALSE.

Замечания

Базовые панели не отображаются в предварительном просмотре печати. Поэтому этот метод всегда возвращает ЗНАЧЕНИЕ TRUE.

CBasePane::InsertPane

Регистрирует указанную область в диспетчере закреплений.

BOOL InsertPane(
    CBasePane* pControlBar,
    CBasePane* pTarget,
    BOOL bAfter = TRUE);

Параметры

pControlBar
[in] Указатель на область для вставки.

pTarget
[in] Указатель на смежную область.

bAfter
[in] Если значение TRUE, pControlBar вставляется после pTarget. Если значение FALSE, pControlBar вставляется перед pTarget.

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

ЗНАЧЕНИЕ TRUE, если метод успешно выполнен, значение FALSE в противном случае.

CBasePane::IsAccessibilityCompatible

Указывает, поддерживает ли область активные специальные возможности.

virtual BOOL IsAccessibilityCompatible();

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

ЗНАЧЕНИЕ TRUE, если область поддерживает активные специальные возможности; в противном случае — ЗНАЧЕНИЕ FALSE.

CBasePane::IsAutoHideMode

Определяет, находится ли панель в режиме автоматического скрытия.

virtual BOOL IsAutoHideMode() const;

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

ЗНАЧЕНИЕ TRUE, если панель находится в режиме автоматического скрытия; в противном случае — ЗНАЧЕНИЕ FALSE.

Замечания

Базовые панели не могут скрыться автоматически. Этот метод всегда возвращает ЗНАЧЕНИЕ FALSE.

CBasePane::IsDialogControl

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

BOOL IsDialogControl() const;

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

ЗНАЧЕНИЕ TRUE, если панель является элементом управления диалогового окна; в противном случае — ЗНАЧЕНИЕ FALSE.

Замечания

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

CBasePane::IsDocked

Определяет, закреплена ли панель.

virtual BOOL IsDocked() const;

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

ЗНАЧЕНИЕ TRUE, если родительский элемент панели не является мини-кадром или если панель плавает в мини-кадре с другой областью; в противном случае — ЗНАЧЕНИЕ FALSE.

CBasePane::IsFloating

Определяет, плавает ли область.

virtual BOOL IsFloating() const;

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

ЗНАЧЕНИЕ TRUE, если область плавает; в противном случае — ЗНАЧЕНИЕ FALSE.

Замечания

Этот метод возвращает противоположное значение CBasePane::IsDocked.

CBasePane::IsHorizontal

Определяет, закреплена ли область по горизонтали.

virtual BOOL IsHorizontal() const;

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

ЗНАЧЕНИЕ TRUE, если панель закреплена по горизонтали; в противном случае ЗНАЧЕНИЕ FALSE.

Замечания

Реализация по умолчанию проверка текущее выравнивание прикрепления для CBRS_ORIENT_HORZ.

CBasePane::IsInFloatingMultiPaneFrameWnd

Указывает, находится ли область в окне кадров с несколькими областями ( класс CMultiPaneFrameWnd).

virtual BOOL IsInFloatingMultiPaneFrameWnd() const;

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

ЗНАЧЕНИЕ TRUE, если область находится в окне фрейма с несколькими панелями; в противном случае — ЗНАЧЕНИЕ FALSE.

Замечания

В окне рамки с несколькими панелями могут плавать только панели, доступные для закрепления. CBasePane::IsInFloatingMultiPaneFrameWnd Поэтому всегда возвращает значение FALSE.

CBasePane::IsMDITabbed

Определяет, была ли панель добавлена в дочернее окно MDI в виде документа с вкладками.

virtual BOOL IsMDITabbed() const;

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

ЗНАЧЕНИЕ TRUE, если панель была добавлена в дочернее окно MDI в виде документа с вкладками; в противном случае — ЗНАЧЕНИЕ FALSE.

CBasePane::IsPaneVisible

Указывает, задан ли флаг WS_VISIBLE для области.

BOOL IsPaneVisible() const;

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

ЗНАЧЕНИЕ TRUE, если задано WS_VISIBLE; в противном случае — ЗНАЧЕНИЕ FALSE.

Замечания

Используйте CBasePane::IsVisible для определения видимости области.

CBasePane::IsPointNearDockSite

Определяет, находится ли указанная точка рядом с сайтом док-станции.

BOOL IsPointNearDockSite(
    CPoint point,
    DWORD& dwBarAlignment,
    BOOL& bOuterEdge) const;

Параметры

point
[in] Указанная точка.

dwBarAlignment
[out] Указывает, какой край находится рядом. Возможные значения: CBRS_ALIGN_LEFT, CBRS_ALIGN_RIGHT, CBRS_ALIGN_TOP и CBRS_ALIGN_BOTTOM

bOuterEdge
[out] ЗНАЧЕНИЕ TRUE, если точка находится вблизи внешней границы док-сайта; Значение FALSE в противном случае.

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

ЗНАЧЕНИЕ TRUE, если точка находится рядом с сайтом док-станции; в противном случае ЗНАЧЕНИЕ FALSE.

Замечания

Точка находится рядом с сайтом док-станции, когда он находится в пределах конфиденциальности, заданной в диспетчере закреплений. Чувствительность по умолчанию составляет 15 пикселей.

CBasePane::IsResizable

Определяет, можно ли изменить размер области.

virtual BOOL IsResizable() const;

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

ЗНАЧЕНИЕ TRUE, если область может изменяться пользователем; в противном случае — ЗНАЧЕНИЕ FALSE.

Замечания

Области класса CDockablePane можно изменить.

Строка состояния ( класс CMFCStatusBar) и панель док-станции ( класс CDockSite) не могут быть изменены.

CBasePane::IsRestoredFromRegistry

Определяет, восстанавливается ли область из реестра.

virtual BOOL IsRestoredFromRegistry() const;

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

ЗНАЧЕНИЕ TRUE, если область восстанавливается из реестра; в противном случае — ЗНАЧЕНИЕ FALSE.

CBasePane::IsTabbed

Определяет, была ли панель вставлена в элемент управления вкладкой окна табуляции.

virtual BOOL IsTabbed() const;

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

ЗНАЧЕНИЕ TRUE, если панель управления вставлена на вкладку окна с вкладкой; в противном случае ЗНАЧЕНИЕ FALSE.

Замечания

Этот метод извлекает указатель на непосредственный родительский объект и определяет, является ли класс среды выполнения объекта CMFCBaseTabCtrl.

CBasePane::IsVisible

Определяет, отображается ли область.

virtual BOOL IsVisible() const;

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

ЗНАЧЕНИЕ TRUE, если область видна; в противном случае ЗНАЧЕНИЕ FALSE.

Замечания

Используйте этот метод для определения видимости панели. Не используйте ::IsWindowVisible.

Если панель не отображается на вкладках (см. раздел CBasePane::IsTabbed), этот метод проверка для стиля WS_VISIBLE. Если панель находится на вкладке, этот метод проверка видимость родительского окна табуляции. Если родительское окно отображается, функция проверка видимость вкладки панели с помощью CMFCBaseTabCtrl::IsTabVisible.

CBasePane::LoadState

Загружает состояние панели из реестра.

virtual BOOL LoadState(
    LPCTSTR lpszProfileName=NULL,
    int nIndex=-1,
    UINT uiID=(UINT)-1);

Параметры

lpszProfileName
[in] Имя профиля.

Nindex
[in] Индекс профиля.

uiID
[in] Идентификатор области.

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

ЗНАЧЕНИЕ TRUE, если состояние панели было загружено успешно; в противном случае ЗНАЧЕНИЕ FALSE.

Замечания

Платформа вызывает этот метод для загрузки состояния области из реестра. Переопределите его в производном классе, чтобы загрузить дополнительные сведения, сохраненные CBasePane::SaveState.

CBasePane::MoveWindow

Перемещает область.

virtual HDWP MoveWindow(
    CRect& rect,
    BOOL bRepaint = TRUE,
    HDWP hdwp = NULL);

Параметры

rect
[in] Прямоугольник, указывающий новое расположение и размер панели.

bRepaint
[in] Если значение TRUE, область переопределена. Если значение FALSE, область не переопределена.

hdwp
[in] Обработка структуры отложенного положения окна.

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

Дескриптор отложенной структуры положения окна или NULL.

Замечания

Если вы передаете ЗНАЧЕНИЕ NULL в качестве параметра hdwp , этот метод обычно перемещает окно. При передаче дескриптора этот метод выполняет отложенное перемещение окна. Вы можете получить дескриптор, вызвав BeginDeferWindowPos или сохраняя возвращаемое значение предыдущего вызова этого метода.

CBasePane::OnAfterChangeParent

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

virtual void OnAfterChangeParent(CWnd* pWndOldParent);

Параметры

pWndOldParent
[in] Указатель на предыдущий родительский элемент.

Замечания

Платформа вызывает этот метод после изменения родительского элемента области, как правило, из-за закрепления или операции с плавающей запятой.

Реализация по умолчанию не выполняет никаких действий.

CBasePane::OnBeforeChangeParent

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

virtual void OnBeforeChangeParent(
    CWnd* pWndNewParent,
    BOOL bDelay=FALSE);

Параметры

pWndNewParent
[in] Указатель на новое родительское окно.

bDelay
[in] Указывает, должны ли быть отложены корректировки макета.

Замечания

Платформа вызывает этот метод непосредственно перед родительским изменением области, как правило, из-за прикрепления, плавающей или автоматической скрытия операции.

Реализация по умолчанию не выполняет никаких действий.

CBasePane::OnDrawCaption

Платформа вызывает этот метод при рисовании подпись.

virtual void OnDrawCaption();

Замечания

Этот метод не имеет функциональных возможностей CBasePane для класса.

CBasePane::OnMovePaneDivider

Этот метод в настоящее время не используется.

virtual void OnMovePaneDivider(CPaneDivider* /* unused */);

Параметры

Неиспользуемые
[in] Не используется.

CBasePane::OnPaneContextMenu

Вызывается платформой при создании меню с списком панелей.

virtual void OnPaneContextMenu(
    CWnd* pParentFrame,
    CPoint point);

Параметры

pParentFrame
[in] Указатель на родительский кадр.

point
[in] Указывает расположение контекстного меню.

Замечания

OnPaneContextMenu вызывает диспетчер док-станции, который поддерживает список панелей, принадлежащих текущему окну фрейма. Этот метод добавляет имена панелей в контекстное меню и отображает его. Команды в меню отображают или скрывают отдельные панели.

Переопределите этот метод, чтобы настроить это поведение.

CBasePane::OnRemoveFromMiniFrame

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

virtual void OnRemoveFromMiniFrame(CPaneFrameWnd* pMiniFrame);

Параметры

pMiniFrame
[in] Указатель на окно мини-кадра, из которого удаляется панель.

Замечания

Платформа вызывает этот метод, когда панель удаляется из родительского окна мини-кадра (например, при закреплении).

Реализация по умолчанию не выполняет никаких действий.

CBasePane::OnSetAccData

CBasePane не использует этот метод.

virtual BOOL OnSetAccData(long lVal);

Параметры

lVal
[in] Не используется.

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

Этот метод всегда возвращает ЗНАЧЕНИЕ TRUE.

Замечания

CBasePane::P aneFromPoint

Возвращает область, содержащую заданную точку.

CBasePane* PaneFromPoint(
    CPoint point,
    int nSensitivity,
    bool bExactBar = false,
    CRuntimeClass* pRTCBarType = NULL) const;

Параметры

point
[in] Указывает точку в координатах экрана для проверка.

nSensitivity
[in] Увеличьте область поиска на эту сумму. Область будет соответствовать условиям поиска, если данная точка попадает в увеличенную область.

bExactBar
[in] Значение TRUE, чтобы игнорировать параметр nSensitivity ; в противном случае — ЗНАЧЕНИЕ FALSE.

pRTCBarType
[in] Если значение NULL не равно NULL, метод выполняет поиск только в области указанного типа.

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

Производный CBasePaneобъект, содержащий указанную точку, или NULL, если панель не найдена.

CBasePane::RecalcLayout

CBasePane не использует этот метод.

virtual void RecalcLayout();

CBasePane::RemovePaneFromDockManager

Отменяет регистрацию области и удаляет ее из списка в диспетчере закреплений.

void RemovePaneFromDockManager(
    CBasePane* pBar,
    BOOL bDestroy = TRUE,
    BOOL bAdjustLayout = FALSE,
    BOOL bAutoHide = FALSE,
    CBasePane* pBarReplacement = NULL);

Параметры

pBar
[in] Указатель на область для удаления.

bDesk
[in] Если значение TRUE, удаленная панель будет уничтожена.

bAdjustLayout
[in] Если значение TRUE, измените макет док-станции немедленно.

bAutoHide
[in] Если значение TRUE, макет закрепления связан со списком полос автохидентов. Если значение FALSE, то макет закрепления связан со списком регулярных панелей.

pBarReplacement
[in] Указатель на панель, которая заменяет удаленную панель.

CBasePane::SaveState

Сохраняет состояние панели в реестр.

virtual BOOL SaveState(
    LPCTSTR lpszProfileName=NULL,
    int nIndex=-1,
    UINT uiID=(UINT)-1);

Параметры

lpszProfileName
[in] Имя профиля.

Nindex
[in] Индекс профиля.

uiID
[in] Идентификатор области.

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

ЗНАЧЕНИЕ TRUE, если состояние было успешно сохранено; в противном случае ЗНАЧЕНИЕ FALSE.

Замечания

Платформа вызывает этот метод при сохранении состояния области в реестре. Переопределите SaveState в производном классе для хранения дополнительных сведений.

CBasePane::SelectDefaultFont

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

CFont* SelectDefaultFont(CDC* pDC);

Параметры

pDC
[in] Контекст устройства.

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

Указатель на объект класса CFont по умолчанию.

CBasePane::SetControlBarStyle

Задает стиль панели управления.

virtual void SetControlBarStyle(DWORD dwNewStyle);

Параметры

dwNewStyle
[in] Побитовая комбинация ИЛИ следующих возможных значений.

Стиль Description
AFX_CBRS_FLOAT Делает панель управления плавающей.
AFX_CBRS_AUTOHIDE Включает режим автоматического скрытия.
AFX_CBRS_RESIZE Включает изменение размера панели управления. Если этот флаг установлен, панель управления может быть помещена в закрепления.
AFX_CBRS_CLOSE Включает скрытие панели управления.

CBasePane::SetDockingMode

Задает режим док-станции для области.

void SetDockingMode(AFX_DOCK_TYPE dockModeNew);

Параметры

dockModeNew
[in] Задает новый режим док-станции для области.

Замечания

Платформа поддерживает два режима закрепления: стандартный и непосредственный.

В стандартном режиме док-станции панели и окна мини-кадра перемещаются по прямоугольнику перетаскивания. В режиме немедленного закрепления панели управления и окна мини-кадра перемещаются немедленно с помощью контекста.

Изначально режим закрепления определяется глобально CDockingManager::m_dockModeGlobal. Вы можете задать режим док-станции для каждой панели по отдельности SetDockingMode с помощью метода.

CBasePane::SetPaneAlignment

Задает выравнивание области.

virtual void SetPaneAlignment(DWORD dwAlignment);

Параметры

dwAlignment
[in] Задает новое выравнивание.

Замечания

Обычно платформа вызывает этот метод, когда панель закреплена с одной стороны основного кадра к другой.

В следующей таблице показаны возможные значения dwAlignment:

Значение Точное понимание
CBRS_ALIGN_LEFT Выравнивание по левому краю.
CBRS_ALIGN_RIGHT Выравнивание по правому краю.
CBRS_ALIGN_TOP Выравнивание сверху.
CBRS_ALIGN_BOTTOM Выравнивание по нижнему краю.

CBasePane::SetPaneStyle

Задает стиль панели.

virtual void SetPaneStyle(DWORD dwNewStyle);

Параметры

dwNewStyle
[in] Задает новый стиль, который нужно задать.

Замечания

Этот метод можно использовать для задания любого из стилей CBRS_, определенных в afxres.h. Так как стиль панели и выравнивание области хранятся вместе, задайте новый стиль, объединив его с текущим выравниванием следующим образом.

pPane->SetPaneStyle (pPane->GetCurrentAlignment() | CBRS_TOOLTIPS);

CBasePane::SetWindowPos

Изменяет размер, позицию и порядок Z области.

virtual HDWP SetWindowPos(
    const CWnd* pWndInsertAfter,
    int x,
    int y,
    int cx,
    int cy,
    UINT nFlags,
    HDWP hdwp = NULL);

Параметры

pWndInsertAfter
[in] Определяет CWnd объект, который поставляется перед этим CWnd объектом в порядке Z. Дополнительные сведения см. в разделе CWnd::SetWindowPos.

x
[in] Указывает положение левой стороны окна.

y
[in] Указывает положение верхней части окна.

cx
[in] Указывает ширину окна.

Cy
[in] Указывает высоту окна.

nFlags
[in] Задает параметры размера и положения. Дополнительные сведения см. в разделе CWnd::SetWindowPos.

hdwp
[in] Обработка структуры, содержащей сведения о размере и положении для одного или нескольких окон.

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

Дескриптор обновленной отложенной структуры положения окна или NULL.

Замечания

Если pWndInsertAfter имеет значение NULL, этот метод вызывает CWnd::SetWindowPos. Если pWndInsertAfter не имеет значения NULL, этот метод вызывается DeferWindowPos.

CBasePane::ShowPane

Отображает или скрывает область.

virtual void ShowPane(
    BOOL bShow,
    BOOL bDelay,
    BOOL bActivate);

Параметры

bShow
[in] Указывает, следует ли отображать область (TRUE) или скрывать (FALSE).

bDelay
[in] Если значение TRUE, перерасчет макета док-станции задерживается.

bActivate
[in] Если значение TRUE, область активна при отображении.

Замечания

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

Используйте CBasePane::IsVisible , чтобы определить текущую видимость панели.

CBasePane::StretchPane

Растягивает панель по вертикали или горизонтали.

virtual CSize StretchPane(
    int nLength,
    BOOL bVert);

Параметры

nLength
[in] Длина, по которой нужно растянуть панель.

bVert
[in] Если значение TRUE, растяните область по вертикали. Если значение FALSE, натяните область по горизонтали.

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

Размер растянутой панели.

CBasePane::UndockPane

Удаляет область с сайта док-станции, ползунка по умолчанию или окна мини-кадра, где он в настоящее время закреплен.

virtual void UndockPane(BOOL bDelay=FALSE);

Параметры

bDelay
Если значение TRUE, то макет док-станции не пересчитывается немедленно.

Замечания

Вызовите этот метод для управления состоянием панели или исключения области из макета док-станции.

Если вы хотите продолжить использовать эту область, вызовите CBasePane::D ockPane или CBasePane::FloatPane перед вызовом этого метода.

См. также

Диаграмма иерархии
Классы
Cpane
Класс CWnd