vs2010中的 CMFCRibbonStatusBar这个状态栏类怎么用?

vs2010中的 CMFCRibbonStatusBar这个状态栏类怎么用?,第1张

创建MFC项目时,选择用ribbon

然后可以把CMFCRibbonStatusBar  m_wndStatusBar改成public,或者写个method返回这个变量,以便从view类中获取m_wndStatusBar

再就是view类中添加mousemove的消息处理函数。。。然后这个函数差不多这样:

        int nOffsetX = GetScrollPos(SB_HORZ)

int nOffsetY = GetScrollPos(SB_VERT)

      

CPoint pt(0, 0)    

pt.x = point.x + nOffsetX

pt.y = point.y + nOffsetY

CString strTmp

strTmp.Format(_T("%4d, %4d"), pt.x, pt.y)

CMainFrame *pFrame=(CMainFrame *)AfxGetMainWnd()

CRect rect(500,5,600,15) //calculate according 

//the coord string length if wish

//pFrame->m_wndStatusBar.GetElement(0)->SetText(strTmp)

//pFrame->m_wndStatusBar.GetElement(0)->SetRect(rect)

pFrame->m_wndStatusBar.GetExElement(0)->SetText(strTmp)

pFrame->m_wndStatusBar.GetExElement(0)->SetRect(rect)

pFrame->m_wndStatusBar.Invalidate()

首先你要了解RibbonBar的结构;

RibbonBar分了好几层

1、MainButton

2、普通Category: 最下面是一个Panel,Panel上面是各种元素,可以是CRibbonbarButton,CRibbonBarEdit等控件

然后重绘你需要的部分:

CMFCRibbonBar 肯定需要重绘,就是继承下原先的类,然后跟普通控件重绘差不多;

左上角的大按钮,所有的Category,还有其他子控件可以选择性重绘,需要用到的再重绘。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/7904796.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存