virtual BOOL SaveState(LPCTSTR lpszProfileName, UINT uiID, UINT uiCount = 0) const;
virtual BOOL LoadState(LPCTSTR lpszProfileName, UINT uiID, UINT uiCount = 0);
这两个方法允许你保存和加载工具栏的状态到/从注册表或 INI 文件中。通常,在保存工具栏状态时,将会保存按钮的可见性、顺序等信息。如果你想要从注册表中移除工具栏的状态,可以使用 SaveState 方法将其保存到一个不存在的注册表键中,相当于删除原有的状态。
以下是一个简单的例子,演示如何通过 SaveState 方法删除注册表中的工具栏状态:
class CMyToolBar : public CMFCToolBar
{
public:
// 在某个事件或条件触发时调用此方法
void RemoveStateFromRegistry()
{
// 假设工具栏的 ID 为 IDR_MY_TOOLBAR
SaveState(_T("MyApp\\ToolBars"), IDR_MY_TOOLBAR, 0);
}
};
在上述示例中,CMyToolBar 继承自 CMFCToolBar,并提供了一个名为 RemoveStateFromRegistry 的方法。通过调用 SaveState 方法,将工具栏的状态保存到注册表键 "MyApp\\ToolBars" 中,实际上相当于删除了之前存在的状态。
请注意,删除工具栏状态可能会影响用户界面,应谨慎使用,并在合适的时机调用。
转载请注明出处:http://www.zyzy.cn/article/detail/20274/MFC/CMFCToolBar