Я хочу загрузить значок (из другого файла), в который не встроено несколько значков (это не группа значков).
Я не знаю его размера.
Теперь я использую этот код, чтобы получить дескриптор значка и использовать его с TIcon.Handle:
function ResourceToIconHandle(hFile: hModule; IDname: PChar): HICON;
var
hGicon1,
hLoadIcon1: THandle;
pGIcon1: Pointer;
begin
hGicon1 := FindResource(hFile, IDName, RT_ICON);
if hGicon1 <> 0 then
begin
hLoadIcon1 := LoadResource(hFile, hGicon1);
pGicon1 := LockResource(hLoadIcon1);
Result := CreateIconfromResource(pGicon1,
SizeofResource(hFile, hGicon1),
True,
$00030000);
end;
end;
Да, это только часть кода (если вы хотите, я покажу все).
Это работает только с одной проблемой: функция CreateIconfromResource дает мне любой значок, растянутый в 32x32:
1 http://22.imagebam.com/download/u7q9PTEAUlSeZ1IJXQ5ViA/15321/153201662/bad.PNG
Но я хочу получить иконки в их исходном разрешении:
2 http://56.imagebam.com/download/yH_Nc9dfsADso0W9A2bL1w/15321/153204932/good.PNG
Я знаю, что CreateIconfromResource предназначен для получения их в том же разрешении, поэтому я ищу другую функцию.
Спасибо за вашу помощь.