使用BCGControlBar界面库时的预写注册表问题
来源:互联网 发布:mp288正版清零软件 编辑:程序博客网 时间:2024/06/16 15:43
使用BCGControlBar界面库时,发现菜单项居然修改不了了。上网搜索了一下,原来有这样一个问题:
BCG每次编译后,将界面信息写入了注册表,其中.rc记录第一次生成时的信息,之后再对界面进行修改将发现其无效!?
解决方法1:将BCG在注册表中生成的项目下的setting文件夹删除。具体位置:HKEY_CURRENT_USER->software->
“应用程序生成向导”->具体的项目名->setting,其中“应用程序生成向导”是由xxApp::instance()中的
SetRegistryKey(_T("xx"))定义。
这样就导致每需要一次修改就要删除一次注册表,颇有不便,于是就有解决方法2,在介绍解决方法2之前,先来讨论一下,
为什么BCGControlBar采取这种设计?有的朋友认为这是一个bug,或者是一个失败的设计。BCG的开发人员如此设计自有他们的用意,
就我的感觉,这样的设计是为了记录上次修改的结果,比如说悬停窗口,上次程序结束时是停靠,下次程序开始时还是停靠,这是对有效修改
的保护,这种修改是在程序运行后对界面的调整,比如工具栏的停靠位置,比如程序的风格,都会和上次程序结束时一样。但是,如果对源代
码进行修改,这种修改将无法被记录,删除注册表就成为了一个解决方法。
再介绍另外一个解决方法。
解决方法2:阻止BCG写入注册表,即在xxApp::Instance()中的SetRegistryKey()之上添加:m_bSaveState = false,
将这个成员设为FALSE,程序将不进行注册表的预写入。但使用这个方法的弊端是:程序运行后对界面的调整也无法记录的。折中一下,需要
写入注册表时,就将 m_bSaveState = false 注释掉吧。
还有其它几种方法,都差不多,这里就不介绍了。
- 使用BCGControlBar界面库时的预写注册表问题
- BCGCONTROLBAR 的注册表信息保存相关问题
- BCGControlBar Pro 界面库 的 官方主页
- MFC界面库BCGControlBar的介绍
- BCGControlBar之PropSheet使用时的笔记
- BCGControlBar的使用
- BCGControlBar的使用
- BCGControlBar的使用
- BCGControlBar的使用
- BCGControlBar的使用
- 关于BCGControlBar中使用 Office2007、2010 风格的问题
- 关于BCGControlBar中使用 Office2007、2010 风格的问题
- BCGControlBar支持中文的问题
- BCGControlBar支持中文的问题
- 解决BCGControlbar中Ribbon界面主按钮一直显示File的问题
- Windows 64-bit 写注册表的问题
- bcgcontrolbar使用
- BCGControlBar使用
- Android Layout XML属性
- UEFI Boot Flow 系列之 PEI Phase
- oracle10g中文乱码问题
- 2011-9-19 18:33:09
- Ubuntu install macbuntu,system not supported error
- 使用BCGControlBar界面库时的预写注册表问题
- Immersive Labs开发了基于摄像头的精准广告定位技术
- Oracle10g Rac ora-12545
- struts2中OGNL表达式的使用
- VC常用系统对话框(保存 打开 目录)
- 最大公约数——gcd
- android style
- struts2标签的使用
- STL 入门学习笔记一