当我从类别中删除面板时,为什么不想删除面板?

时间:2014-08-30 00:58:01

标签: visual-c++ mfc ribbon

我正在查看函数CMFCRibbonCategory::RemovePanel,我看到了一些我不明白的东西。第二个可选参数是bDelete,根据文档:

  

[in] bDelete

     
      
  • TRUE从内存中删除面板对象; FALSE删除面板对象而不删除它。
  •   

我没有看到在其他地方引用相同面板的方法,这并不像隐藏面板那样无法将其带回来,所以为什么我不想这样做此?

除非是这样,否则我会使用CMFCRibbonCategory::GetPanel保持指向它的实时指针?听起来有点像个坏主意。

1 个答案:

答案 0 :(得分:1)

我同意。根本没有将bDelete设置为false的实际用途。

m_arPanes没有以某种方式访问​​的方式,有些人可以使用普通指针添加Panel。

当他们将BGC色带实施传输到MFC时,它会成为一种残骸。 BCG版本也有这个bDelete标志,它也不是很有用,但是有更复杂的功能可以处理这些面板。  但是我没有在MFC中看到这些功能和内部可自定义面板。

因此,从设计的角度来看,创建一个特殊的受保护函数(如InternalRemovePanel)会更好。那只是删除了Panel并且指针指针...