Windows98的工具栏上的按钮不仅会随鼠标的移动而凸起变化,而且按钮上图标的颜色也会随着变化。在Delphi中所提供的工具栏控件中,仅仅提供了按钮凸起变化功能,并没有提供图标颜色变换功能。笔者利用Delphi的灵活性,轻松地实现了按钮图标颜色的变化。
首先,先新建一窗体Form1,在窗体中放一Toolbar控件Toolbar1,两个Imagelist控件Imagelist1、Imagelist2,并在Toolbar1控件上用鼠标点击右键添加按钮,其Hotimages与Images的属性设为Imagelist1,Flat属性设为Ture。
其次,添加图像列表到Imagelist1与Imagelist2中,因为要用到按钮上图标的颜色变换,所以在Imagelist1与Imagelist2中放置次序一样、但颜色不同的几个相同的图像。我们以Delphi提供的按钮图像为例(在c: Program FilesCommon Files Borland Sharedimagesbuttons目录下),在Imagelist1与Imagelist2中分别添加相同次序的图像掩码与图像。
最后,在Form1或Toolbar1的Mousemove事件添加如下代码,当鼠标在工具栏上移动时,所到之处不仅按钮会凸起变化,而且图标会随鼠标的移动而变化颜色,颇像Windows98工具栏风格:
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
toolbar1.HotImages:=imagelist2;
end;
用Delphi制作Windows 98风格的工具栏
用Delphi制作Windows 98风格的工具栏,用Delphi制作Windows 98风格的工具栏