编写提取图标的Delphi控件 |
在《从文件中提取图标》一文中(《计算机世界》第10期),我介绍了怎样从Windows下的可执行模块(EXE,DLL,CPL等)提取图标资源并且将所提取的图标保存成单独的图标文件。在那篇文章的基础之上,我们来编写一个Delphi控件TWinIcon,该控件封装了图标提取(API函数ExtractIcon)及图标保存等操作。通过代码的封装,我们可以让程序具有更好的模块化结构,更易于代码的维护与升级。另外,如果你还不太熟悉Delphi控件的编写的话,TWinIcon应该是一个好的例子。 TWinIcon重要属性 FileName:要从中提取图标的文件 Total: (只读属性)FileName 所指定的文件中所包含的图标个数。 IconIndex:(范围:0到Total-1) 该属性指明当前所显示的图标。 About:显示版本信息。 TWinIcon重要成员函数(方法) proc edure GetIcon(var AnIcon: TIcon;Index:Integer); 功能:获取Index(必须在0到Total-1之间)所指定的图标,图标通过变量参数AnIcon返回。 procedure SaveIconAs(Name:String); 功能:将当前所显示的图标(即IconIndex属性所指定的图标)保存成图标文件。 TWinIcon控件的实现 控件的安装
控件的使用 阅读上面源代码中,我们很容易就可掌握TWinIcon控件的使用方法。在Internet上发布的TWinIcon控件中包含有一个简单的示例。你可以在Torry’s Delphi Pages上( http://www.torry.ru/vcl/graphics/winicon.zip)或者我的个人站点( http://delphians.163.net/winicon.zip)找到它。 TWinIcon的一个重要特性就是它在Delphi集成开发环境(IDE)中就能浏览文件中的图标。比如说,如果你在IDE中将一个TWinIcon控件的FileName属性设置为“C:\Windows\Explorer.exe”,那么你就会立即看到一个电脑图标,通过改变IconIndex属性,你还能看到其它的图标。每次改变FileName属性时,IconIndex都会自动调整:如果FileName指定的文件不存在,则IconIndex被置成负1,否则被置成0。
|
转载自计算机世界日报 (文/刘明华) |