是否觉得Delphi提供的菜单用起来实在没有美感呢?你可以自己用Delphi自带的VCL控件实现一个IE风格的菜单!特征包括:悬浮按钮、拖动定位、图形……所有的这些都不需要任何第三方控件,也不需要大量的编程!
实现一个IE风格的菜单需要执行以下步骤的工作:
1、按正常方式定义一个普通的菜单;
2、从窗口中隐藏已定义的菜单;
3、在窗口中添加CoolBar和ToolBar,作为菜单栏;
4、将菜单映射到ToolBar的按钮上;
5、为实现特殊效果进行编程(可选)。
第一步,按正常方式定义一个普通的菜单。
在窗口中增加一个TMainMenu控件,然后按通常的方式定义菜单项目、图标、快捷键等。
第二步,从窗口中隐藏已定义的菜单。
定义好的菜单会自动显示在窗口上。这是因为向窗口增加TMainMenu控件时,TForm对象的Menu属性自动设置为增加的TMainMenu对象。为了使用我们自己定义的菜单,必须把这个菜单隐藏起来。清除TForm.Menu,定义好的菜单就不会自动显示了。
第三步,在窗口中添加CoolBar和ToolBar,作为菜单栏。
向窗口中添加一个TCoolBar控件,然后把一个TToolBar控件放在它里面。设置TCoolBar和TToolBar的AutoSize属性为True,设置TToolBar的Flat属性为True,并且设置TToolBar的ShowCaptions属性为True。这样,窗口上方就出现了一个空白的菜单栏。下一步我们将向这个菜单栏里增加菜单项目。
第四步,将菜单映射到ToolBar的按钮上。
用右键单击TToolBar,从弹出的菜单中选New Button,向菜单栏中增加第一个按钮。设置这个按钮的AutoSize属性和Grouped属性为True,然后把Caption属性改为菜单项的文字。例如,Caption属性可能会被设置为&File。最后,设置这个按钮的MenuItem属性为TMainMenu中定义的对应的菜单项。例如,MenuItem属性可能会被设置为mnuFile。经过这些设置,按钮就和菜单项链接到了一起,单击按钮时将会弹出对应的菜单了。
第五步,为实现特殊效果进行编程(可选)。
经过前面四步的工作,新菜单已经可以正常工作了。但是,如果想要实现其他的一些特效,如CoolBar的拖动定位等,需要再进行一些编程的工作。这些内容已经不是本文的主题所在,就不加以讨论了,有兴趣的读者可以参考Delphi的帮助。
欢迎各位读者对本文提出自己的见解。