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

Иконки   Найти похожие ветки 

← →
Belov ©   (2002-01-17 17:38) [0]

Привет всем ! Не подскажите как запихнуть иконки в DLL и по требованию их вытащить


← →
DK ©   (2002-01-18 02:21) [1]

Подключи к проэкту файл ресурса (*.RC) с таким содержанием:

1 ICON [drive:\path\]name3.ico
2 ICON [drive:\path\]name3.ico
...

(номер тип путь)

Вытащить с помощью ExtractIcon (подробнее в хелпе)


← →
Belov ©   (2002-01-18 09:14) [2]

OK
С этим понятно - но все-таки касаемо DLL - как ?


← →
Anatoly Podgoretsky ©   (2002-01-18 09:37) [3]

Ну подключи к dll с помощью {$R *.res}


← →
Belov ©   (2002-01-18 11:38) [4]

А после того как я подключил - загружать их
LoadIcon - ?


← →
Cage   (2002-01-18 12:34) [5]

Метод, конечно, варварский, но можно и ResEditor"ом каким-нибудь. ResHack, например.


← →
Belov ©   (2002-01-18 13:56) [6]

Не понял
Ребят - можно как для дурака - поподробнее - желательно с примером, плиз


← →
Fellomena   (2002-01-18 14:17) [7]

Сама не пробовала, но думаю получится:

// это твоя dll

{$R mydll.RES}

procedure ResOut();
var
MyRes1: TResourceStream;
begin
MyRes1:=TResourceStream.Create(hInstance, "MYDLL", RT_RCDATA);
try
// делаешь с ними что надо
Finally
MyRes1.Free;
end; {try}
end;


После компановки получаешь dll, которая содержит твои иконки, которые раньше были в mydll.RES
А из главной проги, загружающей саму dll обращаешься к процедуре ResOut();
Вроде должно работать 8)


← →
DK ©   (2002-01-19 02:40) [8]

Короче так:

procedure FillIcons(FileName: string; IconBox: TListView);
var
I, M: Integer;
FIcon: TIcon;
begin
FIcon := TIcon.Create;
IconBox.LargeImages.Clear;
M := ExtractIcon(hInstance, PChar(FileName), $FFFFFFFF);
for I := 0 to M - 1 do begin
FIcon.Handle := ExtractIcon(hInstance, PChar(FileName), I);
IconBox.LargeImages.AddIcon(FIcon);
with IconBox.Items do begin
Add;
Item[I].Caption := IntToStr(I);
Item[I].ImageIndex := I;
end;
end;
FIcon.Destroy;
end;


Эта процедура работает у меня безоговорочно.
Вызывается в OnCreate формы так:

IconList.LargeImages := TImageList.Create(IconList);
IconList.LargeImages.Width := 32;
IconList.LargeImages.Height := 32;
FillIcons(ParamStr(0), IconList);


IconList - компонент TListView
ParamStr(0) - файл с ресурсами-иконками (EXE или DLL)

Тоесть ты можешь вытащить иконки из любой проги (если они не упакованы) имея только её полный путь.



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

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



Память: 0.46 MB
Время: 0.009 c
4-9044
valery_f
2001-12-03 14:37
2002.02.04
WaveOutxxx


14-8998
Мимо проходил 2001:
2001-12-11 12:35
2002.02.04
Вот многие здесь говорят что оффтопик, а мне так кажется что просто топик лучше на девушке будет смотреться.


4-9037
Искатель
2001-12-07 23:22
2002.02.04
Как получить значок, связанный с логическим диском?


1-8875
Rust_br
2002-01-16 13:27
2002.02.04
Проблема с Caption ом у MDIChild а


14-8995
Tosov
2001-12-16 00:24
2002.02.04
Как правильно: реестр или регистри




   Наверх