一个多文档视图结构的程序,需要使用MFC
Ribbon以改善外观。
1 当存在打开子窗口的时候,改变主框架窗口,会存在 有部分不重绘的现象
解决方案:
在CMainFrame::OnSize()中
CMFCVisualManager::GetInstance()->OnSetWindowRegion(this,
CSize(rectWnd.Width(), rectWnd.Height()));
2 CChildFrame的Dock功能丧失,就是说如果你需要创建一些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(" a"));
pAdditionGroup->AddButton(m_pToggleMinimizeBtn);
m_pToggleMinimizeBtn->SetImageIndex(iIconIdx, FALSE);
Ribbon以改善外观。
1 当存在打开子窗口的时候,改变主框架窗口,会存在 有部分不重绘的现象
解决方案:
在CMainFrame::OnSize()中
CMFCVisualManager::GetInstance()->OnSetWindowRegion(this,
CSize(rectWnd.Width(), rectWnd.Height()));
2 CChildFrame的Dock功能丧失,就是说如果你需要创建一些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(" a"));
pAdditionGroup->AddButton(m_pToggleMinimizeBtn);
m_pToggleMinimizeBtn->SetImageIndex(iIconIdx, FALSE);
m_wndRibbonBar.AddToTabs(pAdditionGroup);