Главная страница
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.021 c
3-59058
max2057
2002-10-30 13:53
2002.11.18
Репликация Oracle ов


1-59111
Part
2002-11-07 15:20
2002.11.18
Еще один простой вопрос!!


3-59000
cd1
2002-10-28 21:34
2002.11.18
Извините за вопрос, кто-нибудь работал с TreeView в БД?


3-59075
sky3d
2002-10-30 13:13
2002.11.18
String Code Generation (для знатоков PL_SQL)


1-59104
Petr2002
2002-11-07 23:05
2002.11.18
sendkeys