Схема загрузки иконок - PullRequest
       7

Схема загрузки иконок

1 голос
/ 31 октября 2008

Какова была бы лучшая схема для загрузки иконок для приложения?

Немного фона ... Я создаю 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 известных типов файлов значков, и отобразите неизвестный тип значков других типов файлов.

Спасибо за ваше время и комментарии.

-Джесси Хоул

1 Ответ

1 голос
/ 31 октября 2008

Я думаю, что вариант 2 звучит наиболее разумно, если вы кэшируете результаты, поэтому вы запрашиваете файл определенного типа только один раз, даже если существует много файлов этого типа.

Я думаю, что варианты 4 и 5 отсутствуют, так как они не будут отражать изменения в ассоциациях. Это может сбить пользователя с толку, если значки в вашем приложении отличаются от проводника Windows.

Параметры 1 и 3 кажутся излишними, тем более что вы, скорее всего, будете часто показывать наиболее распространенные значки и, возможно, никогда не показывать более неясные значки.

...