如何:更改外接程序的默认图标

更新: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 中的图标。后一种方法工作量稍大,但您可以使用所需的自定义图标。

ms165626.alert_note(zh-cn,VS.90).gif说明:

显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于您的当前设置或版本。这些过程是使用“常规开发设置”开发的。若要更改设置,请在“工具”菜单上选择“导入和导出设置”。有关更多信息,请参见 Visual Studio 设置

将默认图标更改为其他标准图标

  1. 打开通过“外接程序向导”创建的解决方案。

  2. 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 指向自定义图标。

    ms165626.alert_note(zh-cn,VS.90).gif说明:

    Visual Studio Automation Samples(Visual Studio 自动化示例)站点提供了一个可下载的示例项目,它演示如何在 Visual Basic 和 Visual C# 中执行这些操作。单击“自定义位图外接程序”链接。

请参见

任务

如何:使用外接程序管理器控制外接程序

如何:创建外接程序

演练:创建向导

概念

外接程序注册

自动化对象模型图表

参考

Visual Studio 命令和开关

其他资源

创建外接程序和向导