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::DockPane 将窗格停靠到另一个窗格或框架窗口。
CBasePane::DockPaneUsingRTTI 使用运行时类型信息停靠窗格。
CBasePane::DockToFrameWindow 将可停靠窗格停靠到框架。
CBasePane::DoesAllowDynInsertBefore 确定是否可以在此窗格和父框架之间动态插入另一个窗格。
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 由框架调用以检索对象的 Help 属性字符串。 (重写 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 指定窗格是否支持 Active Accessibility。
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::PaneFromPoint 返回包含给定点的窗格。
CBasePane::PreTranslateMessage 在将窗口消息发送到 TranslateMessageDispatchMessage Windows 函数之前,由 CWinApp 类用于对此消息进行转换。 (重写 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::DoPaint 填充窗格的背景。

注解

如果要创建支持 MFC 中可用的扩展停靠功能的窗格类,则必须从 CBasePane 或从 CPane 类 派生它。

自定义提示

以下自定义提示适用于 CBasePane Class 和从其继承的任何类:

  • 创建窗格时,可以应用多个新样式:

    • AFX_CBRS_FLOAT 使窗格浮动。

    • AFX_CBRS_AUTOHIDE 启用自动隐藏模式。

    • AFX_CBRS_CLOSE 使窗格能够关闭(隐藏)。

    这些标志可以与按位“或”操作结合使用。

CBasePane 实现以下虚拟布尔方法来反映这些标志:CBasePane::CanBeClosedCBasePane::CanAutoHideCBasePane::CanFloat。 可以在派生类中重写这些方法以自定义其行为。

  • 可以通过重写 CBasePane::CanAcceptPane 来自定义停靠行为。 让你的窗格从此方法返回 FALSE,以防止另一个窗格停靠到该窗格。

  • 如果想创建一个不能浮动且阻止任何其他窗格停靠在其前面的静态窗格(类似于 OutlookDemo 示例中的 Outlook 栏),请将其创建为非浮动窗格并重写 CBasePane::DoesAllowDynInsertBefore 以返回 FALSE。 如果创建窗格时未应用 AFX_CBRS_FLOAT 样式,则默认实现返回 FALSE。

  • 使用除 -1 以外的 ID 创建所有窗格。

  • 若要确定窗格可见性,请使用 CBasePane::IsVisible。 它会正确处理选项卡式和自动隐藏模式下的可见性状态。

  • 如果要创建可调整大小的非浮动窗格,请在不应用 AFX_CBRS_FLOAT 样式的情况下创建该窗格并调用 CFrameWnd::DockControlBar

  • 若要从停靠布局中排除窗格或从停靠栏中移除工具栏,请调用 CBasePane::UndockPane。 不要为处于自动隐藏模式的窗格或驻留在选项卡式窗口的选项卡中的窗格调用此方法。

  • 如果要浮动或取消停靠处于自动隐藏模式的窗格,则在调用 CBasePane::FloatPaneCBasePane::UndockPane 之前,必须以 FALSE 作为第一个参数来调用 CDockablePane::SetAutoHideMode

示例

下面的示例演示了如何使用 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] 指定窗格 ID。 必须是唯一的。

dwControlBarStyle
[in] 窗格的样式标志。

pContext
[in] 指向 CcreateContext 的指针

返回值

如果成功创建窗格,则为 TRUE;否则为 FALSE。

备注

创建类 lpszClassName 的窗口。 如果指定 WS_CAPTION,此方法将清除 WS_CAPTION 样式位并将 CBasePane::m_bHasCaption 设置为 TRUE,因为该库不支持带有标题的窗格。

可以使用子窗口样式和 MFC 控件条 (CBRS_) 样式的任意组合。

该库为窗格添加了几种新样式。 下表介绍了这些新样式:

Style 说明
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::DockPane

将窗格停靠到另一个窗格或框架窗口。

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

参数

pDockBar
[in] 指向另一个窗格的指针。

lpRect
[in] 指定目标矩形。

dockMethod
[in] 指定停靠方法。

返回值

如果控件条停靠成功,则为 TRUE;否则为 FALSE。

注解

调用此函数可将窗格停靠到由 pDockBar 指定的另一个窗格或停靠栏(CDockSite 类),或者如果 pDockBar 为 NULL,则停靠到主框架

dockMethod 指定窗格的停靠方式。 有关可能值的列表,请参阅 CPane::DockPane

CBasePane::DockPaneUsingRTTI

使用运行时类型信息停靠窗格。

void DockPaneUsingRTTI(BOOL bUseDockSite);

参数

bUseDockSite
[in] 如果为 TRUE,则停靠到停靠站点。 如果为 FALSE,请停靠到父框架。

CBasePane::DockToFrameWindow

将可停靠窗格停靠到框架。

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::DoesAllowDynInsertBefore

确定是否可以在此窗格和父框架之间动态插入另一个窗格。

virtual BOOL DoesAllowDynInsertBefore() const;

返回值

如果用户可以插入另一个窗格,则为 TRUE;否则为 FALSE。

注解

框架调用此方法来确定用户是否可以在此窗格之前动态插入一个窗格。

例如,假设应用程序创建了一个停靠在框架左侧的窗格(如 Outlook 栏)。 若要防止用户将另一个窗格停靠在第一个窗格的左侧,请重写此方法并返回 FALSE。

建议重写此方法,并为派生自 CDockablePane 类 的非浮动窗格返回 FALSE。

默认实现返回 TRUE。

CBasePane::DoPaint

填充窗格的背景。

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。

注解

调用此方法可在 rectFloat 指定的屏幕位置浮动窗格

CBasePane::get_accHelpTopic

框架调用此方法来检索与指定对象关联的 WinHelp 文件的完整路径以及该文件中相应主题的标识符

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

参数

pszHelpFile
[in] 接收与指定对象(如果有)关联的 WinHelp 文件的完整路径的 BSTR 的地址

varChild
[in] 指定要检索的帮助主题是对象的帮助主题还是对象子元素之一的帮助主题。 此参数可以是 CHILDID_SELF(获取对象的帮助主题)或子 ID(获取对象的其中一个子元素的帮助主题)。

pidTopic
[in] 标识与指定对象关联的帮助文件主题

返回值

CBasePane 不实现此方法。 因此,CBasePane::get_accHelpTopic 始终返回 S_FALSE。

备注

此函数是 MFC 中的 Active Accessibility 支持的一部分。 在派生类中重写此函数以提供有关对象的帮助信息。

CBasePane::get_accSelection

框架调用此方法来检索此对象的选定子项。

virtual HRESULT get_accSelection(VARIANT* pvarChildren);

参数

pvarChildren
[in] 接收标识所选子项的信息。

返回值

CBasePane 不实现此方法。 如果 pvarChildren 为 NULL,则此方法返回 E_INVALIDARG。 否则,此方法返回 DISP_E_MEMBERNOTFOUND。

备注

此函数是 MFC 中的 Active Accessibility 支持的一部分。 如果有除无窗口 ActiveX 控件之外的非窗口化用户界面元素,请在派生类中重写此函数。

CBasePane::GetCaptionHeight

返回标题高度。

virtual int GetCaptionHeight() const;

返回值

标题高度。

CBasePane::GetControlBarStyle

返回控件条样式。

virtual DWORD GetControlBarStyle() const

返回值

AFX_CBRS_ 标志的按位“或”组合。

备注

返回值是以下可能值的组合。

Style 说明
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)。

通过设置 m_dockMode 或重写 GetDockingMode,可以控制每个窗格的停靠模式

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] 如果为 TRUE,则指定一个 32 x 32 像素的图标;如果为 FALSE,则指定一个 16 x 16 像素的图标。

返回值

窗格图标的句柄。 如果不成功,则返回 NULL。

备注

默认实现调用 CWnd::GetIcon

CBasePane::GetPaneRow

返回指向窗格停靠的 CDockingPanesRow 对象的指针。

CDockingPanesRow* GetPaneRow();

返回值

如果窗格是停靠的,则为指向 CDockingPanesRow 的指针,如果它是浮动的,则为 NULL。

备注

调用此方法以访问窗格停靠的行。 例如,若要在特定行中排列窗格,请调用 GetPaneRow,然后调用 CDockingPanesRow::ArrangePanes

CBasePane::GetPaneStyle

返回窗格样式。

virtual DWORD GetPaneStyle() const;

返回值

在创建时由 CBasePane::SetPaneStyle 方法设置的控件条样式组合(包括 CBRS_ 样式)。

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,则在 pTarget 之后插入 pControlBar。 如果为 FALSE,则在 pTarget 之前插入 pControlBar

返回值

如果方法成功,则为 TRUE,否则为 FALSE。

CBasePane::IsAccessibilityCompatible

指定窗格是否支持 Active Accessibility。

virtual BOOL IsAccessibilityCompatible();

返回值

如果窗格支持 Active Accessibility,则为 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;

返回值

如果窗格作为选项卡式文档添加到 MDI 子窗口,则为 TRUE;否则为 FALSE。

CBasePane::IsPaneVisible

指定是否为窗格设置 WS_VISIBLE 标志。

BOOL IsPaneVisible() const;

返回值

如果设置了 WS_VISIBLE,则为 TRUE;否则为 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] 窗格 ID。

返回值

如果已成功加载窗格状态,则为 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 */);

参数

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::PaneFromPoint

返回包含给定点的窗格。

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,则该方法仅搜索指定类型的窗格。

返回值

包含给定点的 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] 指向要移除的窗格的指针。

bDestroy
[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] 窗格 ID。

返回值

如果已成功保存状态,则为 TRUE;否则为 FALSE。

备注

框架在将窗格状态保存到注册表时调用此方法。 在派生类中重写 SaveState 以存储其他信息。

CBasePane::SelectDefaultFont

选择给定设备上下文的默认字体。

CFont* SelectDefaultFont(CDC* pDC);

参数

pDC
[in] 设备上下文。

返回值

指向默认 CFont 类 对象的指针。

CBasePane::SetControlBarStyle

设置控件条样式。

virtual void SetControlBarStyle(DWORD dwNewStyle);

参数

dwNewStyle
[in] 以下可能值的按位“或”组合。

Style 说明
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] 指定要设置的新样式。

备注

此方法可用于设置 afxres.h 中定义的任何 CBRS_ 样式。 由于窗格样式和窗格对齐方式存储在一起,因此请通过将其与当前对齐方式组合来设置新样式,如下所示。

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] 标识按照 Z 顺序位于 CWnd 之前的 CWnd 对象。 有关详细信息,请参阅 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::DockPaneCBasePane::FloatPane

另请参阅

层次结构图

CPane
CWnd 类