【IT168 专稿】在上一篇文章中,我们介绍了如何利用Windows Scenic Ribbon API为一个普通的Windows应用程序添加Ribbon界面。其中,我们只是简单地添加了一个Ribbon面板和一个按钮控件,还没有实现任何的具体功能。这就像我们创建了一个Ribbon容器,等着我们将各种Ribbon控件装进去并对控件的各种消息进行处理,以实现相应的业务逻辑。
在这一篇文章中,我们就来介绍如何向Ribbon面板添加各种Ribbon控件并实现控件的合理排布。
微软在自己大量用户体验研究的基础上,同时积极汲取用户对第一代Ribbon界面的反馈,在第二代Scenic Ribbon界面中,提供了更加丰富的Ribbon控件,使得Ribbon界面的控件更加丰富。通过这些Ribbon控件的灵活组合应用,能够应对各种应用程序对Ribbon界面控件的需要。下面我们就来介绍一下如何为Ribbon界面添加各种Ribbon控件并对这些控件进行排列布局。
添加Ribbon界面添加应用程序菜单
除了Ribbon面板,Ribbon界面的最大革新之处就是它的应用程序菜单。在Ribbon界面中,我们可以在Ribbon面板上布置一些常用的命令功能,而对于一些不太常用的功能,比如文件打开关闭,系统设置等等,都可以在应用程序菜单中进行。Ribbon界面中应用程序菜单的定义非常简单,跟添加按钮控件相似,我们需要先在XML文件的命令部分添加菜单中需要的各个菜单项:
<!—应用程序菜单项-->
<Command Name="FileMenu"
Symbol="cmdFileMenu"
Id="25000" />
<!—为最长使用文档列表定义控件 -->
<Command Name="cmdMRUList"
Symbol="cmdMRUList"
Id="25050"/>
<Command Name="cmdMRUItems"
Symbol="cmdMRUItems"
Id="25051"/>
<Command Name="cmdNew"
Symbol="cmdNew"
Comment="New"
Id="25001"
LabelTitle="New">
<Command.LargeImages>
<Image Source="NewL.bmp"/>
</Command.LargeImages>
</Command>
<Command Name="cmdOpen"
Symbol="cmdOpen"
Comment="Open"
Id="25002"
LabelTitle="Open"/>
<Command Name="cmdSave"
Symbol="cmdSave"
Comment="Save"
Id="25003"
LabelTitle="Save"
TooltipTitle="Save tooltip title"
TooltipDescription="Save tooltip description."/>
<Command Name="cmdPrint"
Symbol="cmdPrint"
Comment="Print"
Id="25004"
LabelTitle="Print" />
<Command Name="cmdExit"
Symbol="cmdExit"
Comment="Exit"
Id="25005"
LabelTitle="Exit" />
<Command Name="FileMenu"
Symbol="cmdFileMenu"
Id="25000" />
<!—为最长使用文档列表定义控件 -->
<Command Name="cmdMRUList"
Symbol="cmdMRUList"
Id="25050"/>
<Command Name="cmdMRUItems"
Symbol="cmdMRUItems"
Id="25051"/>
<Command Name="cmdNew"
Symbol="cmdNew"
Comment="New"
Id="25001"
LabelTitle="New">
<Command.LargeImages>
<Image Source="NewL.bmp"/>
</Command.LargeImages>
</Command>
<Command Name="cmdOpen"
Symbol="cmdOpen"
Comment="Open"
Id="25002"
LabelTitle="Open"/>
<Command Name="cmdSave"
Symbol="cmdSave"
Comment="Save"
Id="25003"
LabelTitle="Save"
TooltipTitle="Save tooltip title"
TooltipDescription="Save tooltip description."/>
<Command Name="cmdPrint"
Symbol="cmdPrint"
Comment="Print"
Id="25004"
LabelTitle="Print" />
<Command Name="cmdExit"
Symbol="cmdExit"
Comment="Exit"
Id="25005"
LabelTitle="Exit" />