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
对象中。 然后,可以使用 Serialize 或 CDockState::SaveState 将 CDockState
对象的内容写入存储。 如果以后想要还原框架窗口中控件条的状态,可以使用 Serialize
或 CDockState::LoadState 加载状态,然后使用 CFrameWnd::SetDockState 将保存的状态应用于框架窗口的控件条。
有关停靠控件条的详细信息,请参阅文章控件条、工具栏:停靠和浮动以及框架窗口。
继承层次结构
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 文件中检索控件条信息。