![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Получение иконки из exe-файла
Alex_06 © (2006-10-18 15:22:00)Уважаемые Мастера! Подскажите в чем моя ошибка: пытаюсь получить иконку из EXE-файла
var
ic: THandle;
begin
ic:=ExtractIcon(Hinstance, PChar(OpenDialog1.FileName),0);
if ic<>-1 then
begin
Image1.Picture.Icon.Handle:=ic;
Image1.Picture.SaveToFile ...
...
в итоге в Image иконка считывается нормально, а после сохранения имеет низкую глубину цвета. Как получить иконку соответствующую реальной?
Rouse_ (2006-10-20 17:10:00) [1]не пользуйся дельфевыми функциями работы с графикой - только АПИ, тогда цвета не будут биться.
Alex_06 (2006-10-20 15:54:00) [2]Может я чего-то не понял... Проделал предложенное. Компонент встал. Взял программу из Demo и переделал её так, чтобы она выдёргивала иконки из EXE-ков. И получил тот же эффект с которого начал тему. А хотелось бы не только выдёргивать красивые иконки, но и вставлять их в свои програмы. Спасибо.
Rouse_ (2006-10-20 09:41:00) [3]А... понятно, нужно было руками мне тип обьявлять, как и сделал вначале, зря отказался... Ну вытащите в тело класса декларацию :)
Германн (2006-10-20 00:33:00) [4]А! Только сейчас удосужился всмотреться в Graphics.pas в Д6.
TCursorOrIcon в Д6 определено в implementation юнита Graphics.
Германн (2006-10-20 00:26:00) [5]
> Rouse_ © (20.10.06 00:17) [11]
>
> Блин, хоть ошибки то озвучьте кто-нить :)
>
У меня они такие:
[Error] FWIconEx.pas(37): Undeclared identifier: 'TCursorOrIcon'
[Error] FWIconEx.pas(578): Missing operator or semicolon
[Error] FWIconEx.pas(604): ')' expected but identifier 'Count' found
[Error] FWIconEx.pas(605): Missing operator or semicolon
[Error] FWIconEx.pas(605): 'DO' expected but identifier 'Count' found
[Error] FWIconEx.pas(613): 'END' expected but 'FINALLY' found
[Error] FWIconEx.pas(616): '.' expected but ';' found
[Fatal Error] FWIconEx_Only.dpk(34): Could not compile used unit 'FWIconEx.pas'
Gero (2006-10-20 00:25:00) [6]> Но ошибки какие-то "идиотские".
[Idiot Error] Line 112: Dont't worry. Be happy.
Rouse_ (2006-10-20 00:17:00) [7]Блин, хоть ошибки то озвучьте кто-нить :)
Германн (2006-10-20 00:08:00) [8]
> Rouse_ © (19.10.06 23:00) [9]
>
> Хм, тогда по идее должна собраться :)
> Но мог что-то и забыть - есть у кого на шестерке возможность
> проверить?
Попытался проверить и тоже получил кучу ошибок. Но ошибки какие-то "идиотские".
Правда у меня дома Д6 "недовылеченная" :-(
Rouse_ (2006-10-19 23:00:00) [9]Хм, тогда по идее должна собраться :)
Но мог что-то и забыть - есть у кого на шестерке возможность проверить?
Gero (2006-10-19 22:31:00) [10]> попробуй вместо DesignIntf, DesignEditors написать DsgnIntf
Не, это проблемы пятерки )
Rouse_ (2006-10-19 12:41:00) [11]Шестерка... хм, я для семерки затачивал...
попробуй вместо DesignIntf, DesignEditors написать DsgnIntf
Ketmar (2006-10-19 12:39:00) [12]>[4] Rouse_(c) 19-Oct-2006, 12:21
>Я тебе скоро медаль дам, за пиар меня любимого, где тока
>ни попадя :)
это не пиар. это мне просто лениво пояснять с прошлого века, почему шпингалеты не такие. %-)
Alex_06 (2006-10-19 12:38:00) [13]Скачал http://rouse.drkb.ru/files/fwiconex.zip, но FWIconEx_Only.dpk не желает инсталлироваться, выдаёт кучу ошибок. Может он для каких-то определённых версий Delphi и Windows или у меня отсутствует какая-то библиотека. У меня Delphi6 и Windows XP.
Rouse_ (2006-10-19 12:21:00) [14]> зыж и чего я такой добрый-то?
Я тебе скоро медаль дам, за пиар меня любимого, где тока ни попадя :)
"Медаль Кетмару за заслуги перед... хм... "
Не, название нужно придумать нормальное :)
Ketmar (2006-10-19 11:29:00) [15]запросто. в анкете Rouse_(c) есть ссылка. один гугль -- и http://rouse.drkb.ru/
а ещё один клик -- и http://rouse.drkb.ru/files/fwiconex.zip
зыж и чего я такой добрый-то?
Alex_06 (2006-10-19 11:11:00) [16]Если возможно, то хотелось бы иметь ссылку на рекомедуемые компоненты и (или) пример реализации. Спасибо.
Ketmar (2006-10-18 16:46:00) [17]использовать другие компоненты. например, от Rouse_(c). генофонод Delphi не дружит с иконками, где большие размеры или глубина цвета.