Ribbon_窗体_实现Ribbon风格的窗体

随着office2007的兴起,微软让我们看到了Ribbon风格的窗体,现在很多软件也都开始使用Ribbon风格。
那么我们如果要自己开发,应当怎么做呢?本文就是为大家解开这个疑团的。

首先,delphi本身并没有Ribbon风格的窗口可以直接拿来使用,而市面上很多类似于Ribbon的风格都是用截图法做出来的,那样做很麻烦,而且对于图片的控制要求非常高。这样无疑是增加了软件的成本,这里介绍的方法是使用第三方控件,DevExpress Bar 6 来完成Ribbon风格的界面。

首先下载并安装DevExpress Bar 6,注意必须是6,以往的版本没有Ribbon风格,然后将它安装到Delphi2007中。接下来就能够开始进入正题了。

一、拖放必要的控件

dxBarManager ,  dxBarApplicationMenu ,   dxRibbonPopupMenu  ,  dxBarScreenTipRepository  ,  dxRibbonStatusBar  

这些控件都是Ribbon必备的,将它们都拖到窗体上。

拖上后的界面如图所示,可以看到,Ribbon的Tab已经显示出来了,但还不是我们要的效果。

接下来, 继续

 a. 设置控件的属性。
  1. 设置dxRibbon的BarManager属性为DxBarManager控件,

2. 设置dxRibbonPopupMenu的Ribbon属性为dxRibbon控件。

 b. 双击dxBarManager控件,然后 新建一个ToolBar

然后在Object Inspector中会多出一个ToolBar  (Custom 1) ,名称为 dxBarManager1Bar1

c. 设置dxRibbon 的 QuickAccessToolBar.ToolBar 属性为 dxBarManager1Bar1,

马上可以看到,ApplicationMenu已经显示出来了。

d. 右键点击ApplicationMenu右边的小箭头,添加几个Button。

1. 然后再双击dxBarManager,添加ToolBar (Custom 2 ) ,

2. 在dxRibbon上点击右键,选择Tabs Editor,在弹出的窗口中选中Tab。双击Groups属性,添加一个Group,然后将新增的ToolBar关联到Group中。

得到的程序界面如图所示

现在运行一下程序,看看效果

大致已经看得到效果了,不过和office2007还有一点不同,我们得把标题栏去掉,让标题栏的文字显示在Ribbon中。这个地方需要一个小技巧。按F12切换到代码视图,在uses下添加 dxRibbonForm的引用,把窗体的基类从TForm修改为TDxRibbonForm。

把dxRibbon控件的SupportNonClientDrawing属性设为True。再次运行程序。

现在看到的效果就是Ribbon了,但是ApplicationMenu点下去还是没有东西,我们要在ApplicationMenu下加一个菜单。双击dxBarApplicationMenu控件的ItemLinks属性,在屏幕左上方会发现一个小窗口,这个窗体就是用来做ApplicationMenu的,向里面添加按钮和组即可。

最新文章

  1. 常看常遇见之一——BS架构VS CS架构
  2. translate和replace的区别
  3. adcfgclone.pl appsTier报错Unable to locate 'linkxlC' utility in path
  4. NOIP2012 同余方程-拓展欧几里得
  5. C# 编程音量控制
  6. commonJS — 浏览器操作(for Browser)
  7. 解决Unable to connect to a repository at URL 禁止访问 (forbidden)
  8. MYSQL 备份用户权限
  9. Java:接口和抽象类,傻傻分不清楚?
  10. php支持大文件上传
  11. excel vba 不可查看
  12. mysql提权常用方法。 hack某某
  13. SD卡与FAT32系统学习
  14. Jquery画折线图、柱状图、饼图
  15. python requests post和get
  16. Python 处理JSON数据报错解决办法
  17. 我眼中的优秀技术leader
  18. JS 实现日期信息增加年数,月数,天数
  19. Servlet之javax.servlet包
  20. 4 伪ajax:jsonp、cors 跨域请求

热门文章

  1. 替换文件最后一行中的所有e 为 E
  2. BZOJ-1879 Bill的挑战 状态压缩DP
  3. 直接运行可执行文件linux终端一闪而过
  4. MVC 返回图片
  5. php返回json数据简单实例
  6. php中图片文件的导入,上传与下载
  7. linux环境下安装sphinx中文支持分词搜索(coreseek+mmseg)
  8. 如何在word里面插入目录
  9. Linux questions
  10. [Android教程]EditText怎样限制用户的输入?数字/字母/邮箱