ListView调用系统图标为什么老是出来文件夹的图标 |
缺席
|
sl@cableplus.com.cn
高階會員 發表:168 回覆:359 積分:130 註冊:2004-03-26 發送簡訊給我 |
ListView调用系统图标为什么老是出来文件夹的图标?请教
代码如下:
var Icon_h: hIcon; Icon: TIcon; IconIndex: word; li := lvMessageParts.Items.Add; li.Caption := QryAttach1.FieldByName('docfilename').AsString; li.SubItems.Append(QryAttach1.FieldByName('content').AsString); li.SubItems.Append(QryAttach1.FieldByName('pkey').AsString); TBlobField(QryAttach1.FieldByName('content')).savetofile('c:\winnt\temp\' ExtractFileName(QryAttach1.FieldByName('docfilename').AsString)); Icon_h := ExtractAssociatedIcon(HInstance, PChar('c:\winnt\temp\' ExtractFileName(QryAttach.FieldByName('docfilename').AsString)), IconIndex); Icon := TIcon.Create; Icon.Handle := Icon_h; li.ImageIndex := ImageList2.AddIcon(Icon); DeleteFile('c:\winnt\temp\' ExtractFileName(QryAttach1.FieldByName('docfilename').AsString)); |
wameng
版主 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
ExtractAssociatedIcon
僅支持取文件夾圖示。 若要取檔案圖示要用 TSHFILEINFO;
Function Get_ShellInfo(Const Filename:String;Const SmallIcon:Boolean=false):TSHFILEINFO;
var
Flags : Integer;
begin
Flags := SHGFI_DISPLAYNAME or SHGFI_TYPENAME or SHGFI_ICON or SHGFI_ATTRIBUTES;
if SmallIcon then Flags := Flags or SHGFI_SMALLICON
else Flags := Flags or SHGFI_LARGEICON; FillChar(Result,SizeOf(TSHFILEINFO),0);
SHGetFileInfo(Pchar(Filename),0,Result,Sizeof(Result),Flags);
end; Icon.Handle := Get_ShellInfo(FileName,false).hIcon;
|
deity
尊榮會員 發表:90 回覆:876 積分:678 註冊:2003-05-09 發送簡訊給我 |
|
sl@cableplus.com.cn
高階會員 發表:168 回覆:359 積分:130 註冊:2004-03-26 發送簡訊給我 |
|
wameng
版主 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
檔案必須存在ㄡ! Icon := TIcon.Create;
Icon.Handle := Get_ShellInfo('c:\winnt\temp\' ExtractFileName(QryAttach.FieldByName('docfilename').AsString),false).hIcon; li.ImageIndex := ImageList2.AddIcon(Icon);
DeleteFile('c:\winnt\temp\' ExtractFileName(QryAttach1.FieldByName('docfilename').AsString));
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |