使用MFC Ribbon遇到的问题

一个多文档视图结构的程序,需要使用MFC
Ribbon以改善外观。

1 当存在打开子窗口的时候,改变主框架窗口,会存在 有部分不重绘的现象

解决方案:

CMainFrame::OnSize()

CMFCVisualManager::GetInstance()->OnSetWindowRegion(this,
CSize(rectWnd.Width(), rectWnd.Height()));

2 CChildFrameDock功能丧失,就是说如果你需要创建一些DockDialog或者DockBar使得他们停靠在ChildFrame边上,是有问题的,基本没有停靠功能

解决办法:

CChildFrame不能从CMDIChildWndEx派生,只需要从CMDIChildWnd派生就能解决问题

3 打印预览窗口,很多按钮都没有了

解决办法:

CChildFrame不能从CMDIChildWndEx派生,只需要从CMDIChildWnd派生就能解决问题

4. 对CMDIFrameWndEx使用SetWindowText无效,要使用SetTitle     

//SetWindowText( str );

SetTitle(str);

CMDIFrameWndEx::OnUpdateFrameTitle(FALSE);

5. CMFCRibbonButton不 能改变图标,使用CMFCRibbonButtonGroup,设置一个ImageList,然后调用CMFCRibbonBUtton的SetImageIndex

  
CMFCRibbonButtonsGroup* pAdditionGroup = new CMFCRibbonButtonsGroup();

  
pAdditionGroup->SetImages(&m_PanelImages, NULL, NULL);

  
m_pToggleMinimizeBtn = new CMFCRibbonButton(ID_RIBBON_TOGGLE_MINIMIZE,
_T("\na"));

  
pAdditionGroup->AddButton(m_pToggleMinimizeBtn);

  
m_pToggleMinimizeBtn->SetImageIndex(iIconIdx, FALSE);

  
m_wndRibbonBar.AddToTabs(pAdditionGroup);

原文地址:https://www.cnblogs.com/caoshenghe/p/1844966.html