Класс 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);
}
Иерархия наследования
Требования
Заголовок: 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_MEMBERNOTFOUND.
Замечания
Эта функция является частью поддержки активных специальных возможностей в 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] Указывает положение левой стороны окна.
г
[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 перед вызовом этого метода.