Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.18;
Скачать: CL | DM;

Вниз

Сохранить набор иконок в 1 файле   Найти похожие ветки 

 
_Nicola_   (2002-11-05 17:45) [0]

Я надергал с помощью ExtractIcon иконок из файлов и занес их в ImageList. Как мне сохранить этот ImageList, чтобы при повторном запуске приложения не дергать их из файлов, а загрузить в ImageList? Можно, конечно, в виде набора ico-файлов, но мне этот способ не подходит. Ответьте, пожалуйста, как можно еще?

Спасибо.


 
KoluChi ©   (2002-11-05 18:03) [1]

Дважды кликни на ImageList, нажми на Export, сохрани в файл.
В программе используй FileLoad()


 
_Nicola_   (2002-11-05 18:06) [2]

2KoluChi
Интересно, а как можно можно в Runtime дважды кликнуть на ImageList?


 
pusrg ©   (2002-11-05 18:31) [3]

Читайте хелп:

Returns a handle to a bitmap containing all of the images in the image list.

function GetImageBitmap: HBITMAP;

Description

Use the GetImageBitmap method to obtain a bitmap that contains all images in the image list. GetImageBitmap returns 0 if unsuccessful.

Полученный битмап, потом сохраняете.


 
Mr. API ©   (2002-11-05 19:34) [4]

Если точно помню, то:
Создаешь объект типа TIcon у него есть свойство Handle, этому свойству присваиваешь ExtractIcon. И методом SaveToFile.


 
_Nicola_   (2002-11-06 10:51) [5]

2pusrg
Получилось, но не совсем так, как хотелось бы. При сохранении по вашему способу, в файл, помимо иконок, пишется какой-то мусор, и потом при загрузке в ImageList иконки оказываются подпорченными. Как-то нужно использовать маску. Я попробовал использовать аналогично GetMaskBitmap, но при попытке сохранения ее в файл возникает ошибка Out of Resource. Т. е. GetImageBitmap - работает, а GetMaskBitmap - не работает. Есть ли какие-нибудь соображения?

2Mr. API
Это я знаю, но я в вопросе написал, что в виде набора ico-файлов мне не подходит.


 
KoluChi ©   (2002-11-06 11:05) [6]

При добавлении иконок в ImageList попробуй использовать
function AddMasked(Image: TBitmap; MaskColor: TColor): Integer;


 
_Nicola_   (2002-11-06 11:20) [7]

2KoluChi
Объясню еще раз, что мне надо.
В Runtime я указываю файл, из него с помощью ExtractIcon извлекается иконка, заносится в ImageList с помощью ImageList1.AddIcon и отображается (уже из ImageList) на кнопках в ToolBar. Это все работает замечательно и так, как надо.
Нужно, чтобы при повторном запуске программы не пришлось снова лазить по файлам и опять доставать иконки, а сохранить ImageList в файле и потом загрузить из файла в том же виде.
Я попробовал сохранять в bmp, получая изображение с помощью GetImageBitmap (по совету pusrg), но при загрузке иконки оказываются запорченными.
Если использовать при восстановлении из файла bmp AddMasked, то опять же получается не первоначальный вид.

Тогда такой вопрос: как сохранить ВЕСЬ компонент ImageList в файле? (и потом восстановить).


 
Дмитрий К.К. ©   (2002-11-06 11:27) [8]

WriteComponentRes / ReadComponentRes


 
_Nicola_   (2002-11-06 11:47) [9]

2Дмитрий К.К.
Спасибо! Использую глобальные процедуры WriteComponentResFile/ReadComponentResFile - и файл меньше по размерам, чем bmp, и суеты меньше.

2ALL
Если есть еще какие-нибудь способы сохранения/восстановления картинок в ImageList в/из 1 файла - поделитесь, пожалуйста.



Страницы: 1 вся ветка

Текущий архив: 2002.11.18;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.023 c
8-59286
Дж
2002-07-31 11:37
2002.11.18
Как можно проиграть MP3 !!!


4-59514
Gayrus
2002-10-06 07:15
2002.11.18
Имитация


1-59114
iNew
2002-11-08 10:11
2002.11.18
Как к одному событию нажатия на popup меню привязать два разных


14-59351
F1
2002-10-29 14:24
2002.11.18
Проблема с NT Server


3-58988
Irony
2002-10-28 16:58
2002.11.18
испорчен файл *.gdb хотя бы частично...