1. 隐藏Ribbon中某个选项卡
原本是想在Ribbon重载后的CMyRibbonBar类的OnCreate函数后,找一个类似OnInitialUpdate函数的位置,做一个条件判断是否显示选项卡,结果没有找到合适的消息响应函数,后来放在了CMainFrame::OnCreate函数里实现了该功能。
2. 切换Ribbon的选项卡触发事件
想实现的功能是,当切换了选项卡后,下方的view视图也跟着切换,但是选项卡并没有提供事件响应函数,如何得到选项卡切换的事件呢?
先开始是在Ribbon重载后的类CMyRibbonBar的OnLButtonDown函数里面,判断鼠标点击的区域,根据区域的不同来切换视图,结果发现窗口最大化和非最大化时的选项卡按钮区域的大小不一致,导致有时不能切换成功。后来用了GetActiveCategory函数来解决。
这里换到了OnLButtonUp函数,是因为GetActiveCategory在OnLButtonDown中获得的活动选项卡仍然是旧的,还没有发生改变。