SHGetFileInfo()其中有一个大图标的的参数
解决方案 »
- 菜单和listbox相关问题!
- 终于娶了跟我一起整整6年的女朋友,从今以后就要叫她老婆了:),散分庆祝
- 希望有高手可以解决调用多条ShellExecute时程序对CPU的占有率
- dll封装mdi问题,在线等,很急!!!!
- 怎么把切换键tab改为其他键?
- 我一个程序用ado+sql server(远程),不知道如何发布,直接拷贝执行文件不行,我看别人做的就一个可执行文件啊!如何解决呢
- 请问一个FastReport直接打印问题
- 网上无法找到答案的,dbisam.lck,dat,idx,blb是用什么数据库打开的
- 熟悉treeview的大虾救命呀(在线,立刻给分)
- 如何控制DBGrid在左右滚动时最左边的某几列固定不动?
- 怎么样取TMemoryStream的一段 赋值给String ?
- 如何将1,2,3,4等转成:0001,0002,0003,0004 急用!谢谢
ExtractIconEx(
LPCSTR lpszFile,
int nIconIndex,
HICON FAR * phiconLarge,
HICON FAR * phiconSmall,
UINT nIcons
);
var
i: integer;
begin
i := 0;
Image1.Picture.Icon.handle := ExtractIcon(Hinstance, Pchar(FileName), i);
end;
首先,在窗体放一个ImageList,Width and Height = 32,放一个ListView,LargeIcon属性设为ImageList1,为了好看,再窗体底部放一个ProgressBar,align= alBottom
procedure TForm1.ExtractFileIcon(const FileName: string);
var
i, iCount: integer;
Icon: TIcon;
begin
i := -1;
iCount := ExtractIcon(Hinstance, Pchar(FileName), i);
ProgressBar.Max := iCount;
ListView1.Items.BeginUpdate;
ListView1.Items.Clear;
Icon := TIcon.Create;
for i := 0 to iCount -1 do
begin
Icon.Handle := ExtractIcon(Hinstance, Pchar(FileName), i);
ImageList.AddIcon(Icon);
with ListView1.Items.Add do
begin
Caption := ExtractFileName(FileName) + '[' + IntToStr(i + 1) + ']';
ImageIndex := Items.Count - 1;
end;
ProgressBAr.Position := i;
end;
ListView1.Items.EndUpdate;
ProgressBar.Position := 0;
end;