2012-02-01 94 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

相關問題