Вниз
Скачать: CL | DM;

Как загрузить иконку из ресурса exe файла, зная её ID?   Найти похожие ветки 

← →
Interested   (2003-07-16 17:36) [0]

Есть EXE файл с ресурсами иконками.
Как загружать эти иконки на компонент Image, зная ResourceID каждой из них?

Желательно с примером.
Спасибо.


← →
Юрий Федоров ©   (2003-07-16 17:51) [1]

var Icon: TIcon;
Icon:=TIcon.Create;
try

Icon.handle:=LoadIcon(hInstance, "идентификатор_в_ресурсе");
...
finally
Icon.Free;
end;


← →
Иван Шихалев ©   (2003-07-16 18:59) [2]

Я так понимаю, речь идет о иконках в чужом exe? LoadIcon не поможет. Поможет FindResource -> LoadResource -> ... -> LoadImage.

Там где многоточие - поиск соответствующей части иконки. Как конкретно делается - сейчас не вспомню, но в справке по WinAPI все, естественно, есть.


← →
Interested   (2003-07-16 23:18) [3]

Следующий код иконку с ID 101 в Image1 не загружает:

var Icon1: TIcon;
begin
Icon1:=TIcon.Create;
try
Icon1.handle:=LoadIcon(hInstance,"101");
Image1.Picture.Icon.Assign(Icon1);
finally
Icon1.Free;
end;
end;

Как быть?



← →
Eliminator   (2003-07-16 23:20) [4]


> Я так понимаю, речь идет о иконках в чужом exe? LoadIcon
> не поможет. Поможет FindResource -> LoadResource -> ...
> -> LoadImage.

Речь идёт о родном exe программы.


← →
Interested   (2003-07-16 23:21) [5]

Да, exe самой программы...


← →
Chlavik ©   (2003-07-17 02:49) [6]

Может TRresourceStream заюзать?


← →
Иван Шихалев ©   (2003-07-17 07:05) [7]

var Icon1: TIcon;
begin
Icon1:=TIcon.Create;
try
Icon1.handle:=LoadIcon(hInstance, PChar(101));
Image1.Picture.Icon.Assign(Icon1);
finally
Icon1.Free;
end;
end;



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.013 c
1-100807
Mastiff
2003-07-12 17:50
2003.07.31
Windows не выключаеться при запущенной программе


3-100538
khvalera
2003-07-10 20:05
2003.07.31
Paradox


14-100900
Sirus
2003-07-14 08:14
2003.07.31
BIOS не хочет прошиваться...


1-100823
HolACost
2003-07-17 16:14
2003.07.31
Можно ли по PE узнать размер ехешника


3-100608
Alfred77777
2003-07-09 15:40
2003.07.31
is not a valid floating point value




   Наверх