【发布时间】:2012-08-06 11:59:13
【问题描述】:
MFC 功能区栏有一个标有“最小化功能区”的菜单项。选择它时,仅显示每个类别的标题,单击标题时会弹出功能区。我想以编程方式强制功能区进入这种状态。不幸的是,我能找到的唯一方法是ToggleMimimizeState() [原文如此],它会根据当前状态将其置于此状态或将其取出。
看MFC源码,菜单命令的工作方式是通过这段代码:
case idMinimize:
if (m_pActiveCategory != NULL)
{
ASSERT_VALID(m_pActiveCategory);
m_pActiveCategory->ShowElements(FALSE);
RedrawWindow();
}
m_pActiveCategory 可以通过GetActiveCategory() 方法从CMFCRibbonBar 类的外部获取,但不幸的是该类别的ShowElements() 方法是protected,我看不到与公众达到相同效果的方法方法。
似乎也没有一种明显的方法来确定功能区当前是否最小化。
是我遗漏了什么,还是我只需要猜测当前状态?
【问题讨论】: