git-svn-id: trunk@64821 -
This commit is contained in:
wp 2021-03-15 21:53:49 +00:00
parent 19c40b93bd
commit 3ff38bdc82

View File

@ -21,7 +21,7 @@ unit win32wsshellctrls;
interface
uses
Classes, ComCtrls, ShelLCtrls, Types,
SysUtils, Classes, ComCtrls, ShellCtrls, Types,
////////////////////////////////////////////////////
// To get as little as posible circles,
// uncomment only when needed for registration
@ -60,9 +60,11 @@ function GetShellIcon(const AFileName: WideString): TIcon;
var
FileInfo: TSHFileInfoW;
imgHandle: DWORD_PTR;
attr: LongInt;
begin
imgHandle := SHGetFileInfoW(PWideChar(AFileName), 0, FileInfo, SizeOf(FileInfo),
SHGFI_ICON + SHGFI_SMALLICON + SHGFI_SYSICONINDEX);
attr := FileGetAttr(AFileName);
imgHandle := SHGetFileInfoW(PWideChar(AFileName), attr, FileInfo, SizeOf(FileInfo),
SHGFI_ICON or SHGFI_SMALLICON or SHGFI_SYSICONINDEX or SHGFI_USEFILEATTRIBUTES);
if imgHandle <> 0 then
begin
Result := TIcon.Create;
@ -120,18 +122,20 @@ var
listHandle: HWND;
flags: DWord;
lvsil: LongInt;
attr: LongInt;
begin
Result := -1;
fullName := WideString(AFileName);
attr := FileGetAttr(fullName);
if ALargeImage then begin
flags := SHGFI_LARGEICON or SHGFI_SYSICONINDEX;
flags := SHGFI_LARGEICON or SHGFI_SYSICONINDEX or SHGFI_USEFILEATTRIBUTES;
lvsil := LVSIL_NORMAL;
end else
begin
flags := SHGFI_SMALLICON or SHGFI_SYSICONINDEX;
flags := SHGFI_SMALLICON or SHGFI_SYSICONINDEX or SHGFI_USEFILEATTRIBUTES;
lvsil := LVSIL_SMALL;
end;
sysImageHandle := SHGetFileInfoW(PWideChar(fullName), 0, info, SizeOf(info), flags);
sysImageHandle := SHGetFileInfoW(PWideChar(fullName), attr, info, SizeOf(info), flags);
if sysImageHandle = 0 then
Exit;
listHandle := AListView.Handle;