Здравствуйте, Arioch, Вы писали:
A>Hello, !
>> Есть ico-файл, содержащий в себя несколько иконок.
A>Так не бывает. Он содержит одну иконку, у которой несколько равноправных A>изображений, которые винда выбирает по своим принципам.
Да ну? Это с каких это пор один ico-файл не может содержать в себе несколько разных, независимых по изображению иконок? Хотите, я на спор создам ico-файл, в котором десяток иконок, причем разного размера, и, мало того, все иконки будут содержать разные графические изображения цифр — от единицы до 10?
И кстати, шоб все знали — винда, как вы выразились, таки выбирает иконки не по своим принципам, а в связи со строго документированной в MSDN последовательностью расположения иконок в файле. Такое поведение, в частности, наблюдается при отображении иконки для своей кнопки в тулбаре IE — не подготовили грамотно файл с иконками — готовьтесь к косякам.
Учите матчасть, господа.
З.Ы. Автору топика: Смотрите в сторону функции LoadImage — там можно указать размер иконки, какой хотите подгрузить. Правда, эта функция загружает иконку из модуля, описываемого первым параметром, так что осмелюсь в своей простоте предложить другой вариант: формат ico достаточно прост, и написать парсер — дело пары дней максимум
Ну и на загрузчик/отрисовщик еще полдня...
З.З.Ы. Предложенные варианты — навскидку. Наверняка чего забыл
Re[3]: Как загрузить иконку с определенным индексом из ico-ф
Hello, Flamer!
F> Здравствуйте, Arioch, Вы писали:
A>> Hello, !
>>> Есть ico-файл, содержащий в себя несколько иконок.
A>> Так не бывает. Он содержит одну иконку, у которой несколько A>> равноправных изображений, которые винда выбирает по своим принципам.
F> Да ну? Это с каких это пор один ico-файл не может содержать в себе F> несколько разных, независимых по изображению иконок?
Это одна иконка, просто у нее разные картинки!
Но это все одна иконка.
Напрмер в текстовом файле может быть тысяча разных независимых букв — но это
один файл.
A>Это одна иконка, просто у нее разные картинки! A>Но это все одна иконка.
Еще раз: это один файл, который может содержать в себе несколько иконок. Файл позволяет по своему заголовку точно идентифицировать себя как файл с иконками.
A>Напрмер в текстовом файле может быть тысяча разных независимых букв — но это A>один файл.
А я о чем? Это таки один файл, а не одна иконка — разницу чувствуете? Вот цитата из описания формата, на всякий случай:
What's in an Icon?
An icon resource can contain multiple icon images. For example, one icon resource—in this case, a single .ICO-file can contain images in several sizes and color depths:
Допускаю, что мы говорим об одном и том-же — вы называете картинку картинкой, а я — иконкой. Определение icon image может иметь несколько толкований . Просто из первого вашего описания было не очень понятно. Так что
Re: Как загрузить иконку с определенным индексом из ico-файл
Здравствуйте, Аноним, Вы писали:
А>Приветствую!
А>Есть ico-файл, содержащий в себя несколько иконок. Как возможно, зная индекс иконки, загрузить ее в объекст типа TIcon?
ExtractIconEx, ExtractIcon
Туда глядите. Имея HICON -> ImageList_AddIcon
Re[5]: Как загрузить иконку с определенным индексом из ico-ф
Hello, Flamer!
F> А я о чем? Это таки один файл, а не одна иконка — разницу чувствуете? F> Допускаю, что мы говорим об одном и том-же — вы называете картинку F> картинкой, а я — иконкой.
Ну я иконку группирую по логическому признаку, разные картинки одной
иконки — я за отдельные, разного смысла иконки не считаю.
И считаю это правильным — иначе что ты скажешь про *.ICL ? Массив массивов
иконок? :-D