Текущий архив: 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