向菜单命令添加图标
命令可以同时显示在菜单和工具栏上。 在工具栏上,命令通常只显示一个图标(以节省空间),而命令通常同时显示一个图标和文本。
图标宽 16 像素,高 16 像素,可以是 8 位颜色深度(256 颜色)或 32 位颜色深度(真色)。 首选 32 位颜色图标。 虽然允许多个位图,但图标通常排列在单个位图中的单个水平行中。 此位图在 .vsct 文件中声明,以及位图中可用的单个图标。 有关更多详细信息, 请参阅 Bitmaps 元素 参考。
向命令添加图标
以下过程假定你有一个具有菜单命令的现有 VSPackage 项目。 若要了解如何执行此操作,请参阅 使用菜单命令创建扩展。
创建颜色深度为 32 位的位图。 图标始终为 16 x 16,因此此位图必须高 16 像素,宽度为 16 像素的倍数。
每个图标都放置在一行中彼此相邻的位图上。 使用 alpha 通道指示每个图标中的透明度位置。
如果使用 8 位颜色深度,请使用 magenta
RGB(255,0,255)
作为透明度。 但是,首选 32 位颜色图标。将图标文件复制到 VSPackage 项目中的资源目录。 在解决方案资源管理器中,将图标添加到项目。 (选择资源,并在上下文菜单上单击“添加”,然后单击“现有项”,然后选择你的图标文件。
在 编辑器中打开 .vsct 文件。
GuidSymbol
添加名为 testIcon 的元素。 创建 GUID(工具>创建 GUID,然后选择注册表格式并单击“复制”)并将其粘贴到属性中。value
结果应如下所示:<!-- Create your own GUID --> <GuidSymbol name="testIcon" value="{00000000-0000-0000-0000-0000}">
为图标添加一个
<IDSymbol>
。 该name
属性是图标的 ID,指示value
其在条带上的位置(如果有)。 如果只有一个图标,请添加 1。 结果应如下所示:<!-- Create your own GUID --> <GuidSymbol name="testIcon" value="{00000000-0000-0000-0000-0000}"> <IDSymbol name="testIcon1" value="1" /> </GuidSymbol>
在 .vsct 文件的节中创建
<Commands>
一个<Bitmap>
<Bitmaps>
用于表示包含图标的位图的节。将
guid
值设置为在上一步中创建的<GuidSymbol>
元素的名称。将
href
值设置为位图文件的相对路径(在本例中为 Resources\<icon 文件名>)。将
usedList
值设置为之前创建的 IDSymbol。 此属性指定要在 VSPackage 中使用的图标的逗号分隔列表。 不在列表中的图标将排除窗体编译。位图块应如下所示:
<Bitmap guid="testIcon" href="Resources\<icon file name>" usedList="testIcon1"/>
在现有
<Button>
元素中,将Icon
元素设置为前面创建的 GUIDSymbol 和 IDSymbol 值。 下面是具有这些值的 Button 元素的示例:<Button guid="guidAddIconCmdSet" id="cmdidMyCommand" priority="0x0100" type="Button"> <Parent guid="guidAddIconCmdSet" id="MyMenuGroup" /> <Icon guid="testIcon" id="testIcon1" /> <Strings> <ButtonText>My Command name</ButtonText> </Strings> </Button>
测试图标。 生成项目并启动调试。 在实验实例中,找到该命令。 它应显示添加的图标。