Стандартный набор иконок
Posted: Tue Oct 23, 2018 6:06 pm
Предлагаю обсудить необходимость сабжа и способ его хранения.
Только не путать с иконками для приложений, возможно, они будут встроены в приложения в качестве ресурсов(но ответ так и не был получен http://board.kolibrios.org/viewtopic.ph ... 626#p71332).
От себя могу предложить такой вариант:
Получить адрес с помощью GetIconAddress(по сути то же, что и GetProcAddress).
Например:Необязательно включать файлы в виде png, можно и просто несжатый BMP32(но, конечно, это ещё надо обсудить), всё равно файл библиотеки сожмётся, и так даже будет удобнее с ним работать.
Из очевидных плюсов:
Только не путать с иконками для приложений, возможно, они будут встроены в приложения в качестве ресурсов(но ответ так и не был получен http://board.kolibrios.org/viewtopic.ph ... 626#p71332).
От себя могу предложить такой вариант:
- Иконки хранятся в са́мой обыкновенной динамической библиотеке
Файлы иконок включаются туда при компиляции ассемблерной директивой file.
Как и в обычной библиотеке будет храниться массив структур по 2 dword-а, только вместо "имя процедуры, адрес процедуры" будет так "имя иконки, адрес иконки".
Получить адрес с помощью GetIconAddress(по сути то же, что и GetProcAddress).
Например:
Code: Select all
hIconLib = LoadLibrary('icons.obj')
pdf16_icon = GetIconAddress(hIconLib, 'pdf16')
pdf32_icon = GetIconAddress(hIconLib, 'pdf32')
Из очевидных плюсов:
- Если библиотека уже загружена, то грузить её не надо, просто вернётся указатель.
Удобно добавлять файлы в библиотеку.
Доступ по конкретному имени, а не по номеру.