Кто-нибудь знает, где я могу найти стандартные значки панели инструментов диалогового окна файла Windows?

StackOverflow https://stackoverflow.com/questions/1711733

Вопрос

Я пытаюсь реализовать свою собственную реализацию IShellBrowser, потому что мне нужно иметь более полнофункциональное диалоговое окно «Открыть файл и сохранить как», чем позволяет Windows, совместимое с XP (и в идеале с W2000) *

На этом этапе мне нужно добавить стандартную панель инструментов, которую вы видите в правом верхнем углу диалогового окна (стили манифеста для XP и более ранних версий) — кнопку «Назад», кнопку родительской папки, кнопку новой папки и раскрывающийся список «Инструменты». .

Но пока мне не удалось найти эти значки/изображения.Я просмотрел USER32.dll, comdlg32.dll, comctl32.dll, но не нашел ничего подходящего.

Я мог бы просто сделать снимки экрана приложения, где я могу их найти, но, возможно, было бы полезнее знать, откуда они берутся, чтобы я мог получить доступ к различным версиям этих кнопок (высокое разрешение, низкое разрешение, мелкий цвет, глубокий цвет). , и т. д.).

Есть идеи?

[Редактировать:Мне также нужно, чтобы он был совместим с Vista и Windows 7.Просто начиная с Vista они сломали старую общую модель диалога, а их новая модель повредила мозг, ИМХО - у меня больше нет достаточного доступа к состоянию диалога, чтобы выполнять необходимые обязанности, которые раньше выполняли наши диалоги - так что мы вынуждены подойти к проблеме с другой стороны]

Это было полезно?

Решение

Пытаться shell32.dll, в Windows\System32.

Другие советы

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

Filename     Number of Icons
-----------------------------
compstui.dll    99
comres.dll      38
cryptui.dll     20
csc.dll         22
dsuiext.dll     35
explorer.exe    18
iexplore.exe    23
inetcpl.cpl     34
inetcpl.dll     14
mmcndmgr.dll    129
mmsys.cpl       40
moricons.dll    140
netshell.dll    157
ntbackup.exe    26
pfmgr.dll       38
progman.exe     48
setupapi.dll    37
SHDOCVW.DLL     35
shell32.dll     238
stobject.dll    31
wiashext.dll    23
wmploc.dll      60
xpsp2res.dll    19

Попробуйте заглянуть imageres.dll.Там вы найдете большую часть ресурсов изображений для Vista.

перспективный стильhttp://www.freeiconsweb.com/Vista-Style-Software-Icons-Set.html

не Windows, но действительно полныйhttp://www.freeiconsweb.com/Webmaster-Pixel-Icon-Set.html

просто ссылка на скачивание внизу

http://www.freeiconsweb.com/Vista_Folders_Icons.html

Если вы просто запросите у оболочки список изображений, она вам его предоставит.

Shell_GetImageLists()

И тогда вы сможете использовать те, которые захотите.Ура.

Редактировать:Выглядит как SHGetImageList() может быть, это более лучший способ сделать это.

Используйте свои собственные значки.Идентификаторы ресурсов в Shell32.dll не документированы и могут измениться в Центре обновления Windows.

в винде их 3 "стандартный" панели инструментов.От CommCtrl.h (источник):

  • Стандартный: enter image description here (IDB_STD_SMALL_COLOR)
  • Вид: enter image description here (IDB_VIEW_SMALL_COLOR)
  • История: enter image description here (IDB_HIST_SMALL_COLOR)

Индексы для изображений документированы, и его можно найти в CommCrtl.h.Например, Стандартный индексы изображений:

  • СТД_CUT (0):Операция обрезки.
  • STD_COPY (1):Операция копирования
  • СТД_ПАСТА (2):Операция вставки.
  • STD_UNDO (3):Отменить операцию.
  • СТД_РЕДОВ (4):Повторить операцию. (да, опечатка)
  • STD_DELETE (5):Удалить операцию.
  • STD_FILENEW (6):Новая файловая операция.
  • STD_FILEOPEN (7):Операция открытия файла.
  • STD_FILESAVE (8):Сохранить операцию с файлом.
  • STD_PRINTPRE (9):Операция предварительного просмотра печати.
  • СТАНДАРТ_СВОЙСТВА (10):Операция свойств.
  • СТД_ХЕЛП (11):Помогите операции.
  • STD_FIND (12):Найдите операцию.
  • STD_REPLACE (13):Заменить операцию.
  • СТД_ПРИНТ (14):Операция печати.

Вы загружаете стандартный набор изображений в список изображений панели инструментов, отправляя TB_LOADIMAGES сообщение:

// hWndToobar is the window handle of the toolbar control.
SendMessage(hWndToolbar, 
      TB_LOADIMAGES, 
      (WPARAM)IDB_STD_SMALL_COLOR, 
      (LPARAM)HINST_COMMCTRL);
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top