实现Ribbon风格的窗体
来源:互联网 发布:工程造价软件有哪些 编辑:程序博客网 时间:2024/05/29 17:12
随着office2007的兴起,微软让我们看到了Ribbon风格的窗体,现在很多软件也都开始使用Ribbon风格。
那么我们如果要自己开发,应当怎么做呢?本文就是为大家解开这个疑团的。
首先,Delphi本身并没有Ribbon风格的窗口可以直接拿来使用,而市面上很多类似于Ribbon的风格都是用截图法做出来的,那样做很麻烦,而且对于图片的控制要求非常高。这样无疑是增加了软件的成本,这里介绍的方法是使用第三方控件,DevExpress Bar 6 来完成Ribbon风格的界面。
首先下载并安装DevExpress Bar 6,注意必须是6,以往的版本没有Ribbon风格,然后将它安装到Delphi2007中。接下来就能够开始进入正题了。
一、拖放必要的控件
这些控件都是Ribbon必备的,将它们都拖到窗体上。
拖上后的界面如图所示,可以看到,Ribbon的Tab已经显示出来了,但还不是我们要的效果。接下来,继续设置控件的属性。
设置dxRibbon的BarManager属性为DxBarManager控件,设置dxRibbonPopupMenu的Ribbon属性为dxRibbon控件。双击dxBarManager控件,然后新建一个ToolBar。
然后在Object Inspector中会多出一个ToolBar,名称为dxBarManager1Bar1。设置dxRibbon的QuickAccessToolBar.ToolBar属性为dxBarManager1Bar1,马上可以看到,ApplicationMenu已经显示出来了。
右键点击ApplicationMenu右边的小箭头,添加几个Button。然后再双击dxBarManager,添加ToolBar,在dxRibbon上点击右键,选择Tabs Editor,在弹出的窗口中选中Tab。双击Groups属性,添加一个Group,然后将新增的ToolBar关联到Group中。得到的程序界面如图所示
现在运行一下程序,看看效果
大致已经看得到效果了,不过和office2007还有一点不同,我们得把标题栏去掉,让标题栏的文字显示在Ribbon中。这个地方需要一个小技巧。按F12切换到代码视图,在uses下添加 dxRibbonForm的引用,把窗体的基类从TForm修改为TDxRibbonForm。把dxRibbon控件的SupportNonClientDrawing属性设为True。再次运行程序。
现在看到的效果就是Ribbon了,但是ApplicationMenu点下去还是没有东西,我们要在ApplicationMenu下加一个菜单。双击dxBarApplicationMenu控件的ItemLinks属性,在屏幕左上方会发现一个小窗口,这个窗体就是用来做ApplicationMenu的,向里面添加按钮和组即可。
再次运行程序,点击左上角的圆形图案,即可看到ApplicationMenu,我们的Ribbon窗体制作也到此结束了。
- 实现Ribbon风格的窗体
- 实现Ribbon风格的窗体
- 实现Ribbon风格的窗体
- vs2010/MFC Ribbon风格修改窗体标题
- Qt的纽带风格界面实现(最新的Office Ribbon风格)
- 更改窗体 风格 的实现代码
- 使用QT实现MDI风格的主窗体
- 使用QT实现MDI风格的主窗体
- 使用Qt实现MDI风格的主窗体
- SharePoint 2010 Ribbon的实现
- SharePoint 2010 Ribbon的实现
- ribbon菜单风格
- WPF 调用API修改窗体风格实现真正的无边框窗体
- WPF 调用API修改窗体风格实现真正的无边框窗体
- 动态修改Ribbon风格窗口标题的做法
- BCGControlBar for MFC创建Office2013风格的Ribbon Bar
- VS2010/MFC Ribbon风格下CDockablePane的使用
- AdWindows.dll 之 应用于独立程序的Ribbon风格
- db2cmd
- SQL高级查询
- 睿嵌工作室成员介绍
- Eclipse CDT 控制台输出问题
- SQL Server 2008 删除太大的日志文件
- 实现Ribbon风格的窗体
- JAVA 开发类型转换手记
- findViewById为空
- PVFS2 源代码分析之公有组件src/common/misc/state-machine状态机执行逻辑
- 数据源通过将 ConflictDetection 属性设置为 CompareAllValues 该属性默认设置为 OverwriteChanges。OverwriteChanges 模式本质上意味着“仅为了更新或删除记录而匹配主键值”。这种行为意味着不管记
- 关于X/N=int(H/N)*65536+[rem(H/N)*65536+L]/N公式的例子
- 用js编写可编辑的下拉框
- PHP实现的中文转拼音的方法
- 检测笔记本电脑的主板,cpu,硬盘的温度