Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.222.119.148] |
|
Сообщ.
#1
,
|
|
|
Uses
acWorkRes; Вот весь код procedure ExportData(Path, AName: string; Data: TFileStream); overload; var hFile: HWND; Buf: array of Byte; begin hFile := BeginUpdateResource(PChar(Path), False); try if hFile = 0 then begin RaiseLastOSError; end; SetLength(Buf, Data.Size); Data.Position := 0; Data.Read(Buf[0], Data.Size); if not UpdateResource(hFile, RT_GROUP_ICON, PChar(AName), 0, @Buf[0], Data.Size) then RaiseLastOSError; Finalize(Buf); finally EndUpdateResource(hFile, False); end; end; sImage5.Picture.LoadFromFile(OpenDialog1.FileName); // Грузим иконку в картинку image... к какому это компоненту приставить ? и это ? /// Тут сменяем иконку var q: dword; begin q := BeginUpdateResourceS(SaveDialog1.FileName + '.exe', False); if q <> 0 then begin if not ReplaceIconGroupResourceS(q, 'MAINICON', 0, OpenDialog1.FileName) then caption := ('Иконка не установлена!!!'); EndUpdateResource(q, False); end; end; |
Сообщ.
#2
,
|
|
|
Цитата Andry Gar @ Вот весь код Это явно не весь код, а лишь какие-то обрывки Цитата Andry Gar @ sImage5.Picture.LoadFromFile(OpenDialog1.FileName); // Грузим иконку в картинку image... к какому это компоненту приставить ? К TImage Цитата Andry Gar @ и это ? <эмоции гнева и тупизма> Что значит "и это"? По коду - это замена иконки программы, путь к которой задан в диалоге сохранения файла SaveDialog1.FileName + '.exe', на иконку, содержащуюся в файле, путь к которому задан в диалоге открытия файла OpenDialog1.FileName. Замена делается с использованием функции ReplaceIconGroupResourceS из модуля acWorkRes.pas |
Сообщ.
#3
,
|
|
|
А К КАКОМУ КОМПОНЕНТУ ПОДСТАВИТЬ ЭТО ВСЕ ACWORKRES У МЕНЯ ЕСТЬ. Я ЧЕТО ТУПЛЮ
|
Сообщ.
#4
,
|
|
|
Последняя процедура - это метод формы (клик на кнопке или элементе меню), т.к. OpenDialog1 и SaveDialog1 это ее дочерние компоненты, а Caption - строка заголовка. Загрузка иконки в sImage5 - это тоже метод формы (клик на кнопке загрузки иконки).
Процедура ExportData обращается только к своим параметрам и локальным переменным, поэтому она м.б. обычной процедурой, не привязанной ни к какому классу\компоненту. |
Сообщ.
#5
,
|
|
|
Andry Gar, не знаю актуальна ли еще проблема ... решение стоящей задачи можно сделать с помощью примера, который я привел здесь. Надеюсь информация будет полезна ...
|