当前位置:首页 > 网络编程 > 软件语言 > DELPHI > 如何在你的程序中使用系统图标

如何在你的程序中使用系统图标

点击次数:51 次 发布日期:2008-11-09 08:40:31 作者:源代码网
源代码网推荐
广告载入中
在资源管理器中,每一个目录文件都有自已的图标,如何在自已的应用程序里使用它呢?
源代码网推荐 下面给出相关的例程,以及简单的调用实例。
源代码网推荐
源代码网推荐 uses shellapi;
源代码网推荐
源代码网推荐 第一步 取得系统的图标列表的句柄,将之赋予一个图像列表控件。
源代码网推荐 procedure GetSystemImageList(imagelist:TImageList);
源代码网推荐 var
源代码网推荐 SysIL: THandle;
源代码网推荐 SFI: TSHFileInfo;
源代码网推荐 begin
源代码网推荐 // 取小图标,如果将SHGFI_SMALLICON替换成
源代码网推荐 //SHGFI_LARGEICON则表示取大图标
源代码网推荐 SysIL := SHGetFileInfo("", 0, SFI, SizeOf(SFI),
源代码网推荐 SHGFI_SYSICONINDEX or SHGFI_SMALLICON);
源代码网推荐 if SysIL <> 0 then begin
源代码网推荐 //将imagelist的图像列表句柄指向系统图像句柄
源代码网推荐 imagelist.Handle := SysIL;
源代码网推荐 //防止组件释放时释放图像句柄,很重要
源代码网推荐 imagelist.ShareImages := TRUE;
源代码网推荐 end;
源代码网推荐 end;
源代码网推荐
源代码网推荐 第二步 取得要处理文件的图标索引
源代码网推荐 //取一个文件的图标索引
源代码网推荐 function GetIconIndex(const AFile: string; Attrs: DWORD): integer;
源代码网推荐 //Attrs可以为表示文件或路径FILE_ATTRIBUTE_NORMAL or FILE_ATTRIBUTE_DIRECTORY


源代码网推荐 var
源代码网推荐 SFI: TSHFileInfo;
源代码网推荐 begin
源代码网推荐 SHGetFileInfo(PChar(AFile), Attrs, SFI, SizeOf(TSHFileInfo),
源代码网推荐 SHGFI_SYSICONINDEX or SHGFI_USEFILEATTRIBUTES);
源代码网推荐 Result := SFI.iIcon;
源代码网推荐 end;
源代码网推荐
源代码网推荐 实例调用:
源代码网推荐 //如在TreeView中得到c:mydir的图标,因为是路径所以要加上路径的标志
源代码网推荐 aNode.ImageIndex := GetIconIndex("c:mydir",
源代码网推荐 FILE_ATTRIBUTE_NORMAL or FILE_ATTRIBUTE_DIRECTORY);
源代码网推荐 //如在TreeView中得到c:index.html的图标
源代码网推荐 aNode.ImageIndex := GetIconIndex("c:index.html",FILE_ATTRIBUTE_NORMAL);


源代码网推荐

源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华