2012-02-01 120 views
1

我正在开发Visual Studio 2010扩展,我已经在我的窗口中有一个工具栏。在那个工具栏上我有一个按钮,我想给一个图标 - 我自己的图标! 我读过this article,它很棒,但是......它解释了如何用取代的图标。如何将新图标添加到Visual Studio 2010扩展中?

我想添加一个额外的图标。

我该如何做到这一点?

+0

取决于您如何制作扩展程序。您的项目中是否包含.vsct文件,其中包含按钮的定义? – Will 2012-02-01 14:14:05

+0

是的,我确实有!我想我已经找到了答案,但希望听到你的,所以我可以学习,看看我是否正确。 – shemesh 2012-02-01 21:38:54

回答

6

首先,将位图,它的构建操作设置为资源

enter image description here

记住,令人震惊的粉红色=透明(该死,老同学!)

enter image description here

然后,在您的vsct文件中,将图像添加到位图部分

<Bitmaps> 
    <Bitmap guid="AddSampleData.bmpGuid" 
      href="..\Button Bitmaps\AddSampleData.bmp" 
      usedList="AddSampleData.bmpId" /> 
    <Bitmap guid="ApplySampleData.bmpGuid" 
      href="..\Button Bitmaps\ApplySampleData.bmp" 
      usedList="ApplySampleData.bmpId" /> 
</Bitmaps> 

,并为其分配的符号节点

<Symbols> 
    <!-- snip --> 
    <GuidSymbol name="AddSampleData.bmpGuid" 
       value="{dcae7c84-8e91-4f8a-907b-95ccb0f52e6e}"> 
     <IDSymbol name="AddSampleData.bmpId" 
        value="1" /> 
    </GuidSymbol> 
    <GuidSymbol name="ApplySampleData.bmpGuid" 
       value="{9f555245-2430-4e6f-992b-b49ce87a31a2}"> 
     <IDSymbol name="ApplySampleData.bmpId" 
        value="1" /> 
    </GuidSymbol> 
</Symbols> 

一个GUID,并将其应用到一个按钮

<Buttons> 
<!-- snip --> 
    <Button guid="guidEditorExtensionCommandSet" 
      id="setDesignTimeDataOnPage" 
      priority="0x0100"> 
     <Icon guid="ApplySampleData.bmpGuid" 
       id="ApplySampleData.bmpId" /> 
     <Strings> 
        <!-- snip --> 
     </Strings> 
    </Button> 
</Buttons> 

当然,它使用可用的工具,包括优秀VSPackage Builder extension.总是比较容易

enter image description here

+1

很棒,tnx,正是我所做的!但是...与.png不是.bmp - 它使透明度变得更容易。唯一的区别是你不需要Bitmap标签中的usedList。 – shemesh 2012-02-01 22:12:22

+0

@shemesh:很高兴知道! – Will 2012-02-02 13:46:58

6

解决方法是:创建PNG并将扩展名重命名为* .bmp。 VS将接受它作为图标图像,它也将具有透明度(来自Visual Studio Extensibility>Toolbox Icons -- Is transparency supported?

+0

非常感谢你发布了这个技巧德米特里。这会让我的生活变得更容易! :-) – 2013-01-14 04:30:12

相关问题