首页  编辑  

一个非常好的菜单控件

Tags: /超级猛料/VCL/Menu.菜单/   Date Created:

声明:

 这个控件原来的代码部分版权属于原作者,请看清楚相应的版权声明。本人保留修改过的代码的版权,本人遵守和原控件一样的版权法则:免费软件,开放源代码,你可以免费使用它,但是你如果修改它,那么应该把修改过的代码寄一份给原作者和本人。有任何问题(关于修改过的代码部分或者整个控件,可以写信给我,有什么好的建议,烦请赐教,不过对于原来的代码部分,最好写信给原作者)

附件的说明:

xpmenu1504是没有修改过的原来的控件源代码,xpBarMenu是我修改过的控件的源代码。DelphiXPBarMenu是用来改变Delphi的IDE本身的菜单的,你把这个文件当作一般的控件安装即可,这样你的Delphi本身也有XP风格的菜单了。:),see.jpg是效果截图,MainForm.pas,xpBarMenuDemo.dpr,MainForm.dfm是控件演示程序源代码。XPBarMenu.dcr和Bmp文件,是用来描述控件的图标,用在Delphi的控件面板中。

XPMenu控件使用技巧:

你可以配合事件进行更多的精确的控制,例如,对于某一个菜单条目,如果没有菜单位图,你也许不希望有很宽的空隙,那么可以在OnMeasureItem事件中,把控件的IconWidth设置为0即可!

只有你想不到的,没有你做不到的,你可以用这个控件作出任意的菜单来。

你可以设置文字Bar的渐变起始和终止颜色!可以使用位图Bar!可以使用3D风格,自定义Bar的宽度,自定义Bar的文字信息和字体等等,自定义菜单的菜单项的高度,而且所作的修改会影响整个窗体上面的全部菜单项.........,更多的东西等待你自己去摸说,祝愿大家能够用这个控件创建超酷菜单来!

小技巧:

1.你可以先在窗体上面放置XP Bar Menu控件,然后放置菜单控件,这样你在窗体的设计阶段就可以看到效果~~~~~~,所见即所得。

2.XP Bar Menu控件左边的Bar显示的文字信息默认是当前窗体的Caption,你可以设置BarCaption属性为空,这样只要你修改窗体的Caption就可以自动修改Bar上面的文字了。当然你也可以修改成其他文字。

3.你可以在回调函数中控制是否显示Bar,IconWidth等等,这样对于那些没有图片的菜单可以去掉左边多余的空间,美化显示。

4.鼠标移动到菜单条时,没有动态效果,你可以用一个Toolbar来模拟~~~~,这样就有动态效果。

5.在Win9x下面,你可以调整BarColorStep属性,用来提高速度~~~~

6.你可以仅仅是在窗体上面放置XP Bar Menu控件,不用做任何设置,就可以美化你的菜单!

7.你可以自定义Bar文字的颜色,字体等等,也可以设定渐变的起止颜色。

8.你可以设置菜单的ImageList和MenuItem的Bitmap属性,不过同时设置的话,只有ImageList中的起作用。建议不要同时使用ImageList和Bitmap属性,否则有计算误差~~~,虽然我已经尽力减少它了,但是还是不可避免,也许应该修正算法~~,但是我懒得去做了。:(

9.你可以在左边的Bar中使用位图,这样速度更快!!!推荐使用!

10.你没有必要指定灰化位图,因为控件会自动为图片生成灰化图片。

11.在Win9x下面,你应该禁止使用FlatMenu属性。

12.控件也会修改Toolbar上面的按钮的显示~~~~~~:)

13.尽量不要使用FlatMenu属性,这个功能导致内存泄漏。:(---(已经修正这个BUG,可以放心使用)

14.你甚至可以修改Delphi IDE的菜单~~~~~,例如我的机器上就是~~~~~:)

15.绿色控件,如果你的程序需要在其他的没有安装这个控件的机器上面打开,那么没有关系,在打开工程文件的时候选择忽略即可,不影响你的原来的程序的正常打开,只不过没有美观的菜单而已。

16.你可以OwnerDraw原来的菜单项,当然你也可以使用控件提供的事件,这样你就不需要每一个菜单项都去设置他们的OwnerDraw事件了。

DelphiXPBarMenu.pas (0.7KB)
MainForm.dfm (107.9KB)
MainForm.pas (8.7KB)
See.JPG (85.1KB)
TXPBarMENU.bmp (1.6KB)
XPBarMenu.dcr (0.5KB)
XPBarMenu.pas (67.7KB)
XPBarMenuDemo.dpr (0.2KB)
XPMenu1504.pas (54.5KB)