![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Извлечь из 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.