將圖示新增至功能表命令

命令可以同時出現在功能表和工具列上。 在工具列上,命令通常會只以圖示顯示 (以節省空間),而在功能表上,命令通常會同時顯示圖示和文字。

圖示是寬 16 像素,高 16 像素,可以是 8 位元色彩深度 (256 色彩) 或 32 位元色彩深度 (全彩)。 慣用 32 位元的色彩圖示。 雖然允許多個點陣圖,但圖示通常會在單一點陣圖中排列成單一水平列。 此點陣圖會在 .vsct 檔案中與點陣圖中可用的個別圖示一同宣告。 如需詳細資訊,請參閱 Bitmaps 元素的參考資料。

將圖示新增至命令

下列程序假設您有一個包含功能表命令的現有 VSPackage 專案。 若要了解如何執行這項操作,請參閱使用功能表命令建立延伸模組

  1. 建立色彩深度為 32 位元的點陣圖。 圖示一律為 16 x 16,因此此點陣圖必須是高 16 像素,而寬為 16 像素的倍數。

    每個圖示都會放置在並排成列的點陣圖上。 使用 Alpha 色板來指出每個圖示中的透明度位置。

    如果您使用 8 位元色彩深度,請使用洋紅色,RGB(255,0,255),作為透明度。 不過,慣用 32 位元的色彩圖示。

  2. 將圖示檔複製到 VSPackage 專案中的 [Resources] 目錄。 在 [方案總管]中,將圖示新增至專案。 (選取 [資源],並在操作功能表上依序按一下 [新增]、[現有專案],然後選取您的圖示檔。

  3. 在程式碼編輯器中開啟 .vsct 檔案。

  4. 新增名稱為 testIconGuidSymbol 元素。 建立 GUID ([工具]>[建立 GUID],然後選取 [登錄格式],再按一下 [複製] 並將它貼到 value 屬性中。 產生的結果應該如下所示:

    <!-- Create your own GUID -->
    <GuidSymbol name="testIcon" value="{00000000-0000-0000-0000-0000}">
    
  5. 為圖示新增 <IDSymbol>name 屬性是圖示的識別碼,而 value 會指出其在帶狀區域上的位置,如果有的話。 如果只有一個圖示,請新增 1。 產生的結果應該如下所示:

    <!-- Create your own GUID -->
    <GuidSymbol name="testIcon" value="{00000000-0000-0000-0000-0000}">
        <IDSymbol name="testIcon1" value="1" />
    </GuidSymbol>
    
  6. 在 .vsct 檔案 <Commands> 區段內的 <Bitmaps> 區段中建立 <Bitmap>,以代表包含圖示的點陣圖。

    • guid 值設定為您在上一個步驟中建立的 <GuidSymbol> 元素的名稱。

    • href 值設定為點陣圖檔案的相對路徑 (在本例中為 Resources\<圖示檔名>

    • usedList 值設定為您稍早建立的 IDSymbol。 這個屬性會指定要在 VSPackage 中使用的圖示逗號分隔清單。 不在清單上的圖示不會包括在編譯中。

      該點陣圖區塊應如下所示:

      <Bitmap guid="testIcon" href="Resources\<icon file name>" usedList="testIcon1"/>
      
  7. 在現有的 <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>
    
  8. 測試您的圖示。 建置此專案並開始偵錯。 在實驗執行個體中,尋找命令。 它應該會顯示您新增的圖示。