1

我正在开发一个 Visual Studio 2010 扩展,我的窗口中已经有一个工具栏。在那个工具栏上我有一个按钮,我想给一个图标 - 我自己的图标!我读过这篇文章,它很棒,但是......它解释了如何替换图标。

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

我如何做到这一点?

4

2 回答 2

6

首先,添加位图并将其构建操作设置为Resource

在此处输入图像描述

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

在此处输入图像描述

然后,在您的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>

并在符号节点中为其分配一个 guid

<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>

并将其应用于按钮

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

当然,它总是更容易使用可用的工具,包括优秀的VSPackage Builder 扩展。

在此处输入图像描述

于 2012-02-01T21:55:10.123 回答
6

解决方法是创建一个 PNG 并将扩展名重命名为 *.bmp。VS 将接受它作为图标图像并且它也将具有透明度(来自 Visual Studio 扩展性 >工具箱图标 - 是否支持透明度?

于 2012-02-21T08:17:37.770 回答