问题:CBCGPDockingControlBar 的停靠栏在使用ShowControlBar 进行控制其显示或隐藏时,隐藏状态下工具栏按钮始终存在。
原因:跟踪ShowControlBar 时发现
CBCGPDockingControlBar::IsHideInAutoHideMode 函数。
BCG的解释是:由框架调用,以确定ShowControlBar()显示或隐藏控制栏时控制栏在自动隐藏模式下的行为。
当停靠控制栏处于自动隐藏模式时,当调用CBCGPDockControlBar::ShowControlBar试图隐藏或显示控制栏时,它的行为可能会有所不同。
该行为由静态成员m_bhideInutoHideMode控制。如果此成员为TRUE,则在使用(FALSE或TRUE)调用CBCGPDockControlBar::ShowControlBar时,控制栏及其相关的自动隐藏工具栏/自动隐藏按钮将隐藏或显示。否则,控制栏将被激活或停用,其相关的自动隐藏工具栏/按钮将始终可见。
由于此函数由框架调用,因此可以在派生类中重写此成员函数,并更改各个控制栏的默认行为。
m_bhideInutoHideMode的默认值为FALSE
在自动隐藏模式下,修改m_bhideInutoHideMode 的值为TRUE后。使用ShowControlBar进行隐藏则