扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
是否觉得Delphi提供的菜单用起来实在没有美感呢?你可以自己用Delphi自带的VCL控件实现一个IE风格的菜单!特征包括:悬浮按钮、拖动定位、图形……所有的这些都不需要任何第三方控件,也不需要大量的编程!
第一步,按正常方式定义一个普通的菜单。
在窗口中增加一个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的帮助。
欢迎各位读者对本文提出自己的见解。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者