Какова была бы лучшая схема для загрузки иконок для приложения?
Немного фона ... Я создаю FTP-подобное приложение, которое имеет 4 панели (панель локальных папок, панель локальных файлов, панель облачных папок, панель облачных файлов). В обеих файловых панелях один из столбцов - это имя файла, рядом с которым я хочу отобразить значок (как вы видите в проводнике Windows).
Примите во внимание тот факт, что у меня нет физического файла для всех файлов в облаке, я должен зайти в реестр (с расширением файла в руке) и получить комбинацию ExeFileName и IconIndex для этого типа файла, а также из там получить значок. Тем не менее, я думаю, что у меня есть варианты ниже, и хотел бы узнать ваше мнение:
1) Загрузить все комбинации ExeFileName / IconIndex для каждого расширения (EG: .doc, .txt) при загрузке программы и при необходимости выполнить запрос и использовать их для вызова ExtractIcon Win32 API.
2) Ткните в реестр только тогда, когда необходимо получить комбинации ExeFileName / IconIndex, и вызовите API ExtractIcon Win32 для значка связанного типа файла.
3) Сохраните 1-байтовый файл с каждым известным расширением в каталоге и вызовите SHGetFileInfo Win32 API и извлеките соответствующий значок из файла, если необходимо.
4) Сохраните файл физического значка для каждого расширения файла во время установки в каталог и при необходимости обращайтесь к нему (но не изменится с изменениями, добавлениями или удалениями ассоциации файлов).
5) Спрячьте все целиком и купите набор значков в магазине значков, в котором есть 1000 известных типов файлов значков, и отобразите неизвестный тип значков других типов файлов.
Спасибо за ваше время и комментарии.
-Джесси Хоул