Go homepage(回首页) Upload pictures (上传图片) Write articles (发文字帖)
The author:(作者)aaapublished in(发表于) 2014/7/19 0:10:29 delphi图像列表组件(TImageList)使用实例
delphi图像列表组件(TImageList)使用实例
图像列表组件(TImageList)TImageList 组件是一组同样尺寸的图像列表,每一个图像由它的Index 值查询。1.TImageList 组件的典型用法图像列表用于建立和管理大量的图像,主要是配合菜单或工具栏按钮的使用。图像列表中的所有图像的尺寸必须相同,每个图像都有一个相异的序号。为什么要使用图像列表呢?以树状视图为例,如果没有图像列表,就要给每个节点逐个附上一个或多个图标,这样可能要编写很长的程序代码,而且要维护大量的图标也是相当费劲的。有了图像列表就简单多了,维护图标的工作和程序分开,只需要指定一个图像列表,然后在代码中指定所使用的图标在图像列表中的序号。(1)在设计期建立图像列表图像列表是通过TImageList 组件实现的,要建立图像列表,一般在设计期进行。首先,要把TImageList 组件放到Form 上,然后在这个组件上单击鼠标右键,在弹出的菜单中选择“ImageListEditor”命令,Delphi 将打开图像列表编辑器。当建立一个新的图像列表时,“Images”框是空的,单击“Add”按钮,可以指定一个要加到图像列表中的图像文件。这个图像将出现在“Images”框内。图像列表只支持.bmp 和.ico 两种格式的图像,图像尺寸一般设为16×16 或32×32 像素。要删除图像列表中的图像,首先要在“Images”框内选择一个图像,然后单击“Delete”按钮。单击“Clear”按钮可以把图像列表全部清空。在“Options”框内,可以选择是否要修剪、伸展或居中加到图像列表中的图像。(2)在运行期动态建立图像列表一般情况下不需要在运行期对图像列表进行操作。如果要动态建立图像列表,可以参考下面的程序示例代码:procedure TForm1.Button1Click(Sender: TObject);constMyPath=’c:program filesborlanddelphi7imagesicons’;varSearchRec:TSearchRec;beginImageList.CreatSize(6,16);if FindFirst(MyPath+’.bmp’,faAnyFile,searchrec)=0 thenbeginwhile FindNext(SearchRec)=0 doImageList1.FileLoad(rtBitmap,MyPath+SearchRec.Name,clNone);FindCLose(SearchRec);end;end;2.TImageList 组件的重要属性·BkColor 此属性用于设置图像的背景颜色·BlendColor 此属性用于设置图像的前景颜色·Count 此属性用于返回图像列表中图像的个数·DrawingStyle 此属性用于设置图像显示的风格·Handle 此属性用于返回图像列表的句柄·Height 此属性用于设置图像的高度·Width 此属性用于设置图像的宽度·ImageType 此属性用于设置图像的类型·Masked 图像列表中允许有透明的图像下面介绍程序中TImageList 组件的常用属性。(1)BkColor 属性此属性用于设置图像的背景颜色,例如可以将BkColor 属性设置为引用图像的组件的前景色,这样图像显示的就如同透明一样。(2)DrawingStyle 属性此属性用于设置图像显示的风格。它有如下4 个可选值。• dsFocused:表示当前图像有输入焦点。• dsSelected:表示当前图像被选择。• dsNormal:表示当前图像处于通常状态。• dsTransparent:表示当前图像是透明的。(3)Height 属性和Width 属性这两个属性用来指定图像的高度和宽度,例如在菜单中引用的图像经常将这两个值设置为16(默认值),而在工具栏中使用时可以将这两个属性设置为32,这样可以使在工具栏中显示的图像比较大。当然这两个值可以根据需要取不同的值。(4)ImageType 属性此属性用于设置图像的类型。它有如下两个可选值。• itImage:表示普通的图像。• itMask:表示画的是图像的掩码。3.TImageList 组件的重要方法·Add 此方法向图像列表中加入一个位图及其掩码,并返回位图在图像列表中的索引号·AddIcon 此方法向图像列表中加入一个图标,并返回图标在图像列表中的索引号·AddImages 此方法用于把另一个TImageList 组件的图像加到图像列表中·AddMasked 此方法向图像列表中加入一个图像·Assign 此方法用Source 参数指定的另一个图像列表取代自己·Clear 清空图像列表中的所有图像·CreateSize 创建一个图像列表,并指定图像的高度和宽度·Delete 此方法用于删除图像列表中的一个图像·Draw 此方法把图像列表中指定序号的图像画到指定画布的指定位置·DrawOverlay 此方法用于把图像列表中指定序号的图像画到指定画布的指定位置·FileLoad 此方法用于从一个资源文件中读取图像到图像列表中·GetBitmap 此方法把指定序号的图像写到Image 参数指定的位图中·GetIcon 此方法把指定序号的图像写到Image 参数指定的图像中·Insert 此方法把一个图标插到图像列表的指定序号之后·InsertIcon 此方法把一个图标插到图像列表的指定序号之后·InsertMasked 此方法把一个位图插到指定的序号之后·Move 此方法用于把图像列表中的一个图像移到另一个位置·Replace 此方法用一个新的位图及其掩码代替图像列表中指定序号的图像·ReplaceIcon 此方法用一个新的图标替换图像列表中指定序号的图像·ReplaceMasked 此方法用一个新的位图代替图像列表中指定序号的图像·ResourceLoad 此方法从一个指定的资源文件中取出指定类型的图像到图像列表中下面介绍程序中TImageList 组件常用的方法。(1)Add 方法此方法向图像列表中加入一个位图及其掩码,并返回位图在图像列表中的索引号。它有两个类型为TBitMap 类型的参数。• Image:加入的位图。• Mask:位图的掩码。(2)AddIcon 方法此方法向图像列表中加入一个图标,并返回图标在图像列表中的索引号。AddIcon 方法与Add 方法类似,只是AddIcon 方法中的参数Image 是TIcon 类型。下面的代码就是向图像列表组件中添加一个图标的例子:varIcon:TIcon;I:Integer;beginIcon:=TIcon.Create;Icon.LoadFromFile(’C:MGR.ico’); //为Icon 调入一个图标文件I:=ImageList1.AddIcon(Icon); //将Icon 的图标添加到图像列表,并将其索引赋值给变量IIcon.Free;end;(3)AddImages 方法
赞