文件管理器扩展可以通过返回按照FMEVENT_TOOLBARLOAD消息的按钮信息,将自定义按钮添加到文件管理器工具栏。文件管理器只有在FMEVENT_LOAD消息处理期间分机成功安装了自定义菜单时才将此消息发送到扩展的FMExtensionProc功能。使用自定义按钮作为自定义菜单中指定的菜单命令的加速键。
当FMExtensionProc收到FMEVENT_TOOLBARLOAD消息时,【lParam的】参数指向FMS_TOOLBARLOAD结构。文件管理器扩展必须将关于自定义按钮的信息复制到结构中,包括按钮数量和包含按钮图像(位图资源的标识符或内存位图的句柄)的位图的说明符。扩展名还必须包含EXT_BUTTON结构数组的地址,每个结构必须包含相应按钮的命令标识符。如果按钮是菜单命令的加速器,则按钮标识符和相应的菜单命令标识符必须相等。
包含按钮图像的位图必须是位图资源或内存位图。扩展名必须将资源标识符或内存位图的句柄复制到FMS_TOOLBARLOAD结构;并且在位图资源的情况下,资源必须在扩展的可执行文件中。
位图必须包含每个指定按钮的一个图像。位图高度始终为15像素;宽度总是16像素的倍数,因为每个按钮图像必须是16像素宽。按钮图像从左到右连接。例如,EXT_BUTTON结构数组中指定的第一个按钮的图像必须是位图中最左边的图像。
扩展可以通过在EXT_BUTTON结构的idsHelp成员中指定字符串资源的标识符来为按钮提供一行帮助文本。当用户选择按钮时,文件管理器将检索字符串资源并将其显示在工具栏上。