更新:2007 年 11 月
Visual Studio 使一个默认图标与您通过使用 Visual Studio 外接程序项目类型创建的外接程序的菜单项相关联,您可以更改该默认图标。
当您使用 Visual Studio 外接程序项目类型创建外接程序时,可以通过选中“是否要为外接程序创建命令栏用户界面?”[Would you like to create a command bar UI for your add-in?]框为外接程序创建用户界面 (UI)。若要查找 Visual Studio 外接程序项目类型,请展开“其他项目类型”,然后在“新建项目”对话框中单击“扩展性项目”。
模板创建一个“工具”菜单项,当用户单击它时导致外接程序进行加载。该菜单项在命令旁边有一个默认笑脸图标,您可以通过使用以下两种方法之一更改它。
第一种方法是仅将默认图标索引号(它为 59)更改为 Microsoft.VisualStudio.CommandBars 程序集(它包含将近 3,000 个图标)中另一个标准图标的号码。第二种方法是定义一个自定义位图(例如公司徽标或自定义图标),将它作为资源放置在附属 DLL 中,然后更改外接程序的代码以指向该新位图。前一种方法比较快捷和轻松,但您将局限于 Microsoft.VisualStudio.CommandBars 中的图标。后一种方法工作量稍大,但您可以使用所需的自定义图标。
![]() |
---|
显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于您的当前设置或版本。这些过程是使用“常规开发设置”开发的。若要更改设置,请在“工具”菜单上选择“导入和导出设置”。有关更多信息,请参见 Visual Studio 设置。 |
将默认图标更改为其他标准图标
打开通过“外接程序向导”创建的解决方案。
在 OnConnection 事件中,查找以下代码行:
command = commands.AddNamedCommand2(_addInInstance, _ "MyAddin1", "MyAddin1", _ "Executes the command for MyAddin1", True, 59, Nothing, _ CType(vsCommandStatus.vsCommandStatusSupported, _ Integer) + CType(vsCommandStatus.vsCommandStatusEnabled, _ Integer), vsCommandStyle.vsCommandStylePictAndText, _ vsCommandControlType.vsCommandControlTypeButton)
Command command = commands.AddNamedCommand2(_addInInstance, "MyAddin1", "MyAddin1", "Executes the command for MyAddin1", true, 59, ref contextGUIDS, (int)vsCommandStatus. vsCommandStatusSupported+(int)vsCommandStatus. vsCommandStatusEnabled, (int)vsCommandStyle. vsCommandStylePictAndText, vsCommandControlType .vsCommandControlTypeButton);
注意到号码 59 在 AddNamedCommand2 调用中。这是默认图标(笑脸)的索引。若要更改为一个不同的标准图标,请更改此号码。例如,要将图标更改为一个红星,请将 59 更改为 6743。当您运行外接程序时,此命令显示在红星图标旁边的“工具”菜单上。
若要获取可用标准图标的完整列表,请参见 Finding Face ID Numbers for Your Microsoft Office 97 Toolbars(查找 Microsoft Office 97 工具栏的表情 ID 号)。MSDN 库中的这篇文章包含一个小应用程序,此程序允许您查看所有图标并获取这些图标的 ID 号以便您选择所需的图标。
如果无法在 Microsoft.VisualStudio.CommandBars 库中找到适当的图标,您可以使用一个自定义位图作为外接程序的命令图标。该位图作为资源包含在附属 DLL 中。有关更多信息,请参见 如何:在外接程序按钮上显示自定义图标。创建附属 DLL 资源后,就可将 AddNamedCommand2 指向自定义图标。
说明:
Visual Studio Automation Samples(Visual Studio 自动化示例)站点提供了一个可下载的示例项目,它演示如何在 Visual Basic 和 Visual C# 中执行这些操作。单击“自定义位图外接程序”链接。