Поделиться через


Добавление значков в команды меню

Команды могут отображаться как в меню, так и на панели инструментов. На панелях инструментов обычно отображается команда только значком (для экономии места), а в меню команда обычно отображается как со значком, так и с текстом.

Значки имеют ширину 16 пикселей на 16 пикселей и могут иметь 8-разрядную глубину цвета (256 цветов) или 32-разрядную глубину цвета (истинный цвет). Предпочтительнее 32-разрядные значки цвета. Значки обычно располагаются в одной горизонтальной строке в одной растровой карте, хотя допускается несколько растровых изображений. Эта растровая карта объявлена в VSCT-файле вместе с отдельными значками, доступными в растровом рисунке. Дополнительные сведения см. в справочнике по элементу Bitmaps.

Добавление значка в команду

В следующей процедуре предполагается, что у вас есть существующий проект VSPackage с помощью команды меню. Чтобы узнать, как это сделать, см. статью "Создание расширения" с помощью команды меню.

  1. Создайте растровое изображение с глубиной цвета 32 бита. Значок всегда равен 16 x 16, поэтому этот растровый рисунок должен иметь высоту 16 пикселей и 16 пикселей в ширину.

    Каждый значок помещается на растровое изображение рядом друг с другом в одной строке. Используйте альфа-канал, чтобы указать места прозрачности в каждом значке.

    Если вы используете 8-разрядную глубину цвета, используйте magenta, RGB(255,0,255)как прозрачность. Однако 32-разрядные значки цвета предпочтительнее.

  2. Скопируйте файл значка в каталог ресурсов в проекте VSPackage. В Обозреватель решений добавьте значок в проект. (Выберите Ресурсы и в контекстном меню нажмите кнопку "Добавить", а затем "Существующий элемент" и выберите файл значка.)

  3. Откройте VSCT-файл в редакторе.

  4. GuidSymbol Добавьте элемент с именем testIcon. Создайте 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. <Bitmap> Создайте в разделе в <Bitmaps> разделе <Commands> VSCT-файла, чтобы представить растровое изображение, содержащее значки.

    • guid Задайте для значения имя элемента, созданного <GuidSymbol> на предыдущем шаге.

    • href Задайте для значения относительный путь к файлу растрового изображения (в данном случае имя> файла Resources\<icon.

    • 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. Проверьте значок. Выполните сборку решения и запустите отладку. В экспериментальном экземпляре найдите команду. Он должен отобразить добавленный значок.