CDockState 类

在永久性内存(文件)中加载、卸载或清除一个或多个停靠控件条状态的序列化 CObject 类。

语法

class CDockState : public CObject

成员

公共方法

名称 描述
CDockState::Clear 清除停靠状态信息。
CDockState::GetVersion 检索存储的功能条状态的版本号。
CDockState::LoadState 从注册表或 .INI 文件检索状态信息。
CDockState::SaveState 将状态信息保存到注册表或 INI 文件。

公共数据成员

“属性” 描述
CDockState::m_arrBarInfo 指向存储的停靠状态信息的指针数组,每个控件条有一个条目。

备注

停靠状态包括功能条的大小和位置,以及它是否停靠。 检索存储的停靠状态时,CDockState 会检查功能条的位置,如果当前屏幕设置下功能条不可见,CDockState 会缩放功能条的位置,以使其可见。 CDockState 的主要目的是保存多个控件条的整个状态,并允许将该状态保存并加载到注册表、应用程序的 .INI 文件或以二进制形式作为 CArchive 对象内容的一部分保存和加载。

功能条可以是任何可停靠的控件条,包括工具栏、状态栏或对话栏。 CDockState 对象通过 CArchive 对象写入到文件/从文件中读取。

CFrameWnd::GetDockState 检索所有框架窗口的 CControlBar 对象的状态信息,并将其置于 CDockState 对象中。 然后,可以使用 SerializeCDockState::SaveStateCDockState 对象的内容写入存储。 如果以后想要还原框架窗口中控件条的状态,可以使用 SerializeCDockState::LoadState 加载状态,然后使用 CFrameWnd::SetDockState 将保存的状态应用于框架窗口的控件条。

有关停靠控件条的详细信息,请参阅文章控件条工具栏:停靠和浮动以及框架窗口

继承层次结构

CObject

CDockState

要求

标头:afxadv.h

CDockState::Clear

调用此函数可清除 CDockState 对象中存储的所有停靠信息。

void Clear();

注解

这不仅包括功能条是否已停靠,还包括功能条的大小和位置以及它是否可见。

CDockState::GetVersion

调用此函数可检索存储的功能条状态的版本号。

DWORD GetVersion();

返回值

如果存储的功能条信息早于当前功能条状态,则为 1;如果存储的功能条信息与当前功能条状态相同,则为 2。

备注

版本支持使修订后的功能条能够添加新的持久性属性,并且仍然能够检测和加载由早期版本的功能条所创建的持久状态。

CDockState::LoadState

调用此函数可从注册表或 .INI 文件检索状态信息。

void LoadState(LPCTSTR lpszProfileName);

参数

lpszProfileName
指向一个以 null 结尾的字符串,该字符串指定初始化文件中某个部分的名称,或者存储状态信息的 Windows 注册表中的某个键的名称。

备注

配置文件名称是应用程序的 .INI 文件或注册表中包含功能条状态信息的部分。 可以使用 SaveState 将控件条状态信息保存到注册表或 .INI 文件。

CDockState::m_arrBarInfo

一个 CPtrArray 对象,它是指向已在 CDockState 对象中保存状态信息的每个控件条的已存储控件条信息的指针数组。

CPtrArray m_arrBarInfo;

CDockState::SaveState

调用此函数可将状态信息保存到注册表或 .INI 文件。

void SaveState(LPCTSTR lpszProfileName);

参数

lpszProfileName
指向一个以 null 结尾的字符串,该字符串指定初始化文件中某个部分的名称,或者存储状态信息的 Windows 注册表中的某个键的名称。

备注

配置文件名称是应用程序的 .INI 文件或注册表中包含控件条状态信息的部分。 SaveState 还保存当前屏幕大小。 可以使用 LoadState 从注册表或 .INI 文件中检索控件条信息。

另请参阅

CObject 类
层次结构图