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

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

Как просмотреть все рисунки в файле иконки? [D4, Win95/98]


Марк ©   (2002-03-25 11:01:00) 

Привет Всем!
В одном файле иконки (*.ico) может находиться несколько рисунков
для разных графических режимов.
Есть функция ExtractIconEx(...), но она, похоже,
позволяет получить только две иконки: 16х16 и 32х32 ?
Есть ли способ получить все?

Заранее спасибо.


Марк   (2002-03-25 15:08:00) [1]

На работе дали комп с уже установленным. Где инсталл - сам не знаю? :-(


Андрей Сенченко   (2002-03-25 14:00:00) [2]

>> Марк (25.03.02 13:52)
>> в ACDSee 4.0(plugin PicaView 2.0),

Где нарыл ?


Марк   (2002-03-25 13:52:00) [3]

Да, прога удобная, но она выхватывает только один рисунок из файла иконки - 32х32х256 цветов. (Цвета зависят от текущего графрежима). И в проге небольшая ошибка:

procedure TForm1.SpeedButton9Click(Sender: TObject);
var dc:HDC;
begin
if ExtractIcon(hInstance,pchar(filelistbox1.filename), i-1 )<>0 then begin
i:=i+1;
dc:=GetDC(panel3.Handle);
DrawIcon(dc,1,1,0);
image1.picture.icon.Handle := ExtractIcon(hInstance,pchar(filelistbox1.filename), i);
end
else showmessage("Это последняя иконка в файле");
end;


Вместо "i-1" нужно поставить "i+1", иначе прога будет пытаться читать 2 несуществующие иконки после "достижения конца списка иконок".
_____
Файл иконки представляет собой некий "ImageList", который я и хочу весь получить. Этот "ImageList" можно просмотреть, например,
в ACDSee 4.0(plugin PicaView 2.0), а в Visual Studio его можно создавать в редакторе иконок.


shane54   (2002-03-25 11:53:00) [4]

На сайте mihandelphi.narod.ru есть классная прога для выдирания иконок из exe, dll, ico и т.д.


Наверх

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