我希望加载一个图标(来自另一个文件),它不包含多个嵌入其中的图标(不是一个图标组)。
我不知道它的大小。
现在我使用这段代码检索图标的句柄,并将其与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的图标:
但我希望能够以原始分辨率获取图标: 我知道CreateIconfromResource旨在以相同的分辨率获取它们,这就是为什么我正在寻找另一个函数。 谢谢你的帮助。
CreateIconFromResourceEx
并传递适当的大小吗?我也不明白为什么你不使用图标组,但这不是问题的重点。 - David Heffernan