MFC VS2008中的新用户界面 ————菜单栏、工具栏和状态栏

MFC加入了新窗口元素:窗格。崭新的工具栏和状态栏都是一种窗格。

  一、窗格

  窗格是MFC在2008年新加入的,它由类CPane和其基类CBasePane实现。窗格就是用来在主框架窗口上占据边框位置的窗口,例如工具栏和状态栏。
  CBasePane实现了窗格的基本功能和属性:停靠、浮动以及基本的窗口消息处理。CPane在CBasePane的基础上,实现了抓取的功能,可以用鼠标把窗格从停靠状态变为浮动状态。只要你的窗口从CPane派生,就能具有这样的功能。CBasePane和CPane提供了非常多的虚函数,派生类需要考虑自己如何去重写或实现。

  二、工具栏

  MFC的新工具栏是一个窗格。工具栏由CMFCToolBar实现。CMFCToolBar的基类是CMFCBaseToolBar,而CMFCBaseToolBar的又是从CPane派生的。CMFCToolBar和CToolBar没有任何关系,它不是用Win32的窗口类TOOLBARCLASSNAME创建的,也不是TOOLBARCLASSNAME的超类,所以不能向CMFCToolBar发送和公共控件特有的Windows消息。CMFCToolBar的所有功能,包括按钮的显示已经按钮事件的产生都是CMFCToolBar自己实现的。
  CMFCToolBarButton实现工具按钮,它类似于Win32的TBBUTTON和TBBUTTONINFO,有类似的数据成员。CMFCToolBar在使用习惯上和CToolBar是类似的,它有一些和CToolBar类似的函数:

LoadBitmap、LoadToolBar、LoadBitmapEx、LoadToolBarEx从资源中读取工具栏;
SetButtons、InsertButton、InsertSeparator、ReplaceButton、RemoveButton、RemoveAllButtons修改工具栏上的按钮;

  三、菜单栏

  菜单栏是用工具栏实现的,菜单按钮也就是工具按钮嘛。MFC实现菜单栏的类是CMFCMenuBar。
  函数CreateFromMenu从HEMNU中创建菜单栏;
  函数GetMenuItem获取菜单项。

  四、状态栏

  MFC的新状态栏也是一个窗格,它是由CMFCStatusBar实现的。CMFCStatusBar从CPane派生。CMFCStatusBar和CStatusBar没有任何关系,它不是用Win32的窗口类STATUSCLASSNAME创建,也不是STATUSCLASSNAME的超类,所以不能向CMFCStatusBar发送和公共控件特有的Windows消息。CMFCStatusBar的所有功能自己实现的。
  类CMFCStatusBarPaneInfo保存状态栏窗格的信息,但主要在CMFCStatusBar内部使用。CMFCStatusBar提供了类似于CStatusBar的函数:

SetIndicators:从资源中读取状态栏;
CommandToIndex:从窗格的命令ID查询序号;
GetItemID、GetItemRect、GetPaneText、GetPaneInfo等等都和CStatusBar的含义是一样的。
  五、REBAR

  MFC用CMFCReBar替代了原来的CReBar,它也是一个窗格,从CPane派生。CRebar是用Win32的窗口类REBARCLASSNAME创建,因而可以在CMFCReBar中使用Win32中有关REBAR的宏和消息。

GetReBarCtrl:在REBAR创建后,可以获取CReBarCtrl控件对象,并操纵REBAR控件;
AddBar:增加一个band;
SetPaneAlignment:设置bands在REBAR中的对齐方式
文章出处:DIY部落(http://www.diybl.com/course/3_program/c++/cppsl/2008825/137415.html)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
MFC(Microsoft Foundation Class)是由Microsoft开发的一套用于编写Windows程序的类库。Ribbon菜单是MFC的一种界面风格,可用于创建现代化、富有交互性的用户界面。 Ribbon菜单的特点是具有直观的用户界面,其通过使用带有大型按钮和工具栏的标签式布局来增强程序的可用性和可操作性。Ribbon菜单可以在一个窗口内展示多个选项卡,每个选项卡上都可以放置多个按钮,且可以自定义按钮的布局和样式。这使得用户能够快速访问各种功能,并且可以通过单击按钮来执行特定的操作。 Ribbon菜单提供了一个集管理和展示功能的心,用户可以轻松地在不同的选项卡之间切换,并直观地了解当前所使用功能的状态。它还支持键盘快捷键和鼠标手势等交互方式,从而提高了用户的操作效率。 从开发者的角度来看,使用MFC Ribbon菜单可以简化界面的设计和开发过程。MFC提供了一系列的类和函数,用于创建和管理Ribbon菜单、按钮、选项卡等控件。开发者可以通过调用相应的函数来直接添加和配置这些控件,而无需手动绘制界面。同时,MFC还提供了响应控件事件的接口和函数,开发者可以通过编写相应的代码来实现功能的处理。 总之,MFC Ribbon菜单提供了一种现代化和直观的用户界面,适用于开发各种Windows程序。它可以提高用户的操作效率和体验,同时也简化了开发者的界面设计和开发工作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值