在MFC中,CMFCMenuBar会写入注册表,每次启动时会读取,这给我们编制程序带来极大的不便。
我在网上看了很多方法,大部分都是要在注册表中删除才能解决问题。
这肯定不是正确的方法。
经研究发现,如下代码可解决此类问题
#pragma once
class XMenuBar : public CMFCMenuBar
{
public:
XMenuBar();
virtual ~XMenuBar();
virtual BOOL SaveState(LPCTSTR lpszProfileName = NULL, int nIndex = -1, UINT uiID = (UINT)-1);
};
BOOL XMenuBar::SaveState(LPCTSTR lpszProfileName , int nIndex , UINT uiID)
{
return TRUE;
}就是重写SaveState,让其不要写入注册表。
本文介绍了一种防止MFC应用程序中的CMFCMenuBar类在启动时将状态写入注册表的方法。通过重写SaveState方法,阻止菜单状态被保存到注册表中。

3587

被折叠的 条评论
为什么被折叠?



