优秀的菜单控件DevExpress Bar使用初探

前一阵子在做项目时,用到了Develper Experss Inc. 的DevExpress Bar控件,感觉它真是一个好东西,可以完全取代Delphi现有的Menu控件和ToolBar控件,其功能也是第三方控件中的佼佼者。故在此写一点点自己的所得和体会,希望能够对各位朋友有所帮助。

DevExpress Bar安装后,控件栏新添了ExpressBars页:

 

我们使用的主要是第二个dxBarManager控件。这里,以建立一个含有菜单和快捷工具栏的应用程序为例。

 

新建工程,将其放置到Form1上如图:

 

双击该控件,出现设置窗口(如下图)。所有的设置均是在该窗口中完成的。

 

可以看到,设置窗口分成若干个Tab页面,来进行不同的设置。Toolbars页面的目的是设置不同的工具条。由于我们要建立菜单和快捷工具栏,所以点击“New”(如图),加入两个ToolBar,分别命名为MenuBar和FastBar。

 

加入后,设置窗口如图:

 

可以注意到,加入工具条后,Form1上出现了两个浮动工具条。这就是我们刚刚加入的,它具有浮动的功能,并且初始状态时浮动状态:

 

将鼠标指向工具条,按住左键并移动,可以将其停靠到Form的任一边缘。我们将MenuBar停靠到最上方,FastBar停靠到MenuBar的下方:

 

这只是一个空壳子。下面我们加入菜单:双击dxBarManager控件,打开Commands页,在右侧右键点击鼠标,出现如图弹出菜单。选择其中的Add。

 

在弹出的窗口(如图)中,Type选择TdxBarSubItem,这是一个能够放置其它种类按钮的容器。Caption置为标题。这里设成“文件”

 

确定后,可以看到其加入了Command:中

 

但是,它并没有加入到Form上。用鼠标左键点中上图中的“文件”,按住不放,将其拖放到Form1的MenuBar中:(在拖动的过程中,鼠标的形状为一个小矩形右下角一个x,当移动到能够放置的位置时x变成+表示能够加入)

 

接下来,加入“文件”下的各个按钮。还是在Command页右侧右击鼠标,

 

Type不用变,Caption设置为New。确定后,New出现在Commands中。还是选中New,将其拖放到Form上的MenuBar的File中。当拖至File时,File自动弹开,将New放置到弹开的空白处即可。其结果如右图。

 

 同理,可以加入其它的菜单项,如Save、Save As、Close等等。

 处理完了文件菜单,可以同样加入Edit等等菜单。这样,我们就构建了菜单。下一步是购建快捷工具栏。

 同样,还是双击dxBarManager控件,打开Commands页,右击,选取Add。不过这时的Type选择TdxBarLargeButton。确定后,再将其从Commands页拖动到FastBar上:

 

 

 

一个快捷按钮就做好了。同理加入其它的。

这时可以发现,快捷按钮没有图标,很难看。解决它:加入一个ImageList,再向其中加入相应的图片,选中dxBarManager1,将其LargeImages属性设置为刚刚加入的ImageList,再点中上图中的Save按钮,就可以在其LargeImageIndex下拉条中选择图标了。

同样可以为MenuBar的项目设置图标:同样加入一个ImageList,再向其中加入相应的图片,选中dxBarManager1,将其Images属性设置为刚刚加入的ImageList,点中上图中的“文件”,再在弹出的菜单项中选择“New”按钮,就可以在其ImageIndex下拉条中选择图标了。

 

这样,一个含有菜单和快捷工具栏的应用程序的界面部分就差不多了。剩下的,就是在各个Button的OnClick(或者其它的)Event中编写代码了。

 

总结一下,实际上dxBarManager控件的简单的开发过程为:

1、 在ToolsBar页中,生成各个ToolBar;

2、 将各个ToolBar拖放到合适的地方;

3、 在Command 页中,加入各种按钮;

4、 将各个按钮拖放的合适的地方(比如ToolBar中或其它容器,例如TdxBarSubItem中)

实际上,在dxBarManager控件中,不仅仅提供了TdxBarButton、TdxBarLargeButton,还提供了用于各种列表、图像、字体的种种按钮,其使用方法同样只需要在dxBarManager控件的Commands页面中生成之后通过拖放就可以了。当然在使用前还需要设置各自的属性。

 

本文仅仅简单说明了dxBarManager控件的使用,希望能够起到抛砖引玉的作用,并且希望能够得到各位朋友的批评和指正。若有问题欢迎共同探讨:lff0305@163.com(欢迎转载,但作者保留版权)

文章引用自:http://www.51delphi.com/wz/20.html

posted on 2010-12-16 14:04  sunjun0427  阅读(1715)  评论(0编辑  收藏  举报