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 |
在将窗口消息发送到 TranslateMessage 和 DispatchMessage 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::CanBeClosed、CBasePane::CanAutoHide、CBasePane::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::FloatPane 或 CBasePane::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);
}
继承层次结构
要求
标头: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::DockPane 或 CBasePane::FloatPane。