Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Извлечь из Icl - иконку [D6]


Alex-A ©   (2002-07-04 12:02:00) 

Извините, если не в тему (хотел в Multimedia написать, но там почему-то вопрос не добавляется).
Как из файла icl достать нужную иконку ?


Proton   (2002-07-09 19:07:00) [1]

не Icon.Handle := ExtractIcon(Handle, "WinXp.icl", i);
а Icon.Handle := ExtractIcon(Hinstance, "WinXp.icl", i);
и до этого то же самое


Alex-A   (2002-07-04 14:32:00) [2]

<qoute>Icon.Hande := ExtractIcon(Handle, "WinXp.icl", i);</qoute>
опечатка, конечно:
Icon.Handle := ExtractIcon(Handle, "WinXp.icl", i);
но суть не в этом ...


Alex-A   (2002-07-04 14:27:00) [3]

ага, я так сначала и подумал
делаю так

TForm1.Button1Click(Sender: TObject);
var i:Integer;
nIconCount:Integer;
Icon : TIcon;
begin
Icon := TIcon.Create;
nIconCount := ExtractIcon(Handle, "WinXp.icl", -1);
ShowMessage(IntToStr(nIconCount)); // Показывает 24 - и это правильно
for i := 1 to nIconCount do
begin
Icon.Hande := ExtractIcon(Handle, "WinXp.icl", i); // И вот тут при первом же проходе какой-то непереводимый мат !
DrawIcon(Form1.Canvas.Handle, 10, i*40, Icon.Handle);
end;
Icon.Free;
end;

Что интересно, тот же код с указанием "Shell32.dll", все нормально отрисовывает!


valery_f   (2002-07-04 12:43:00) [4]

ICL - это та же DLL, только в ней кроме иконочных ресурсов ничего нет. В общем - как из обычной DLL.


Наверх

Титульная страница Поиск, карта сайта Написать письмо