有谁知道在哪里可以找到标准 Windows 文件对话框工具栏图标?
-
19-09-2019 - |
题
我正在尝试推出自己的 IShellBrowser 实现,因为我需要一个比 Windows 允许的功能更全的“文件打开”和“另存为”对话框,该对话框与 XP 兼容(最好与 W2000 兼容)*
此时,我需要添加您在对话框右上角看到的标准工具栏(XP 及更早版本的清单样式) - 后退按钮、父文件夹按钮、新文件夹按钮和“工具”下拉菜单。
但到目前为止我还没有成功找到这些图标/图像。我查看了 USER32.dll、comdlg32.dll、comctl32.dll,但没有找到任何完全匹配的内容。
我可以简单地截取应用程序的屏幕截图,在那里我可以找到它们 - 但知道它们来自哪里可能更有用,因此我可以访问这些按钮的各种版本(高分辨率、低分辨率、浅色、深色, ETC。)。
有任何想法吗?
[编辑:我还需要它与 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那里。
如果你只是问外壳为它的图像列表,它会提供给你。
然后你可以使用任何你想要的。耶。
使用自己的图标。在的Shell32.dll资源ID不记录,并能在Windows更新改变。
Windows有3个 “标准” 工具栏。从 CommCtrl.h
(来源):
图像的索引 有记录, ,并且可以在 CommCrtl.h
. 。例如, 标准 图像索引为:
- STD_CUT (0):剪切操作。
- STD_复制 (1):复制操作
- STD_粘贴 (2):粘贴操作。
- STD_UNDO (3):撤消操作。
- STD_REDOW (4):重做操作。 (是的,打字错误)
- STD_删除 (5):删除操作。
- STD_FILENEW (6):新文件操作。
- STD_文件打开 (7):打开文件操作。
- STD_文件保存 (8):保存文件操作。
- STD_PRINTPRE (9):打印预览操作。
- STD_属性 (10):属性操作。
- 性病帮助 (11):帮助操作。
- STD_FIND (12):查找操作。
- STD_替换 (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);