Добавление значков в команды меню
Команды могут отображаться как в меню, так и на панели инструментов. На панелях инструментов обычно отображается команда только значком (для экономии места), а в меню команда обычно отображается как со значком, так и с текстом.
Значки имеют ширину 16 пикселей на 16 пикселей и могут иметь 8-разрядную глубину цвета (256 цветов) или 32-разрядную глубину цвета (истинный цвет). Предпочтительнее 32-разрядные значки цвета. Значки обычно располагаются в одной горизонтальной строке в одной растровой карте, хотя допускается несколько растровых изображений. Эта растровая карта объявлена в VSCT-файле вместе с отдельными значками, доступными в растровом рисунке. Дополнительные сведения см. в справочнике по элементу Bitmaps.
Добавление значка в команду
В следующей процедуре предполагается, что у вас есть существующий проект VSPackage с помощью команды меню. Чтобы узнать, как это сделать, см. статью "Создание расширения" с помощью команды меню.
Создайте растровое изображение с глубиной цвета 32 бита. Значок всегда равен 16 x 16, поэтому этот растровый рисунок должен иметь высоту 16 пикселей и 16 пикселей в ширину.
Каждый значок помещается на растровое изображение рядом друг с другом в одной строке. Используйте альфа-канал, чтобы указать места прозрачности в каждом значке.
Если вы используете 8-разрядную глубину цвета, используйте magenta,
RGB(255,0,255)
как прозрачность. Однако 32-разрядные значки цвета предпочтительнее.Скопируйте файл значка в каталог ресурсов в проекте VSPackage. В Обозреватель решений добавьте значок в проект. (Выберите Ресурсы и в контекстном меню нажмите кнопку "Добавить", а затем "Существующий элемент" и выберите файл значка.)
Откройте VSCT-файл в редакторе.
GuidSymbol
Добавьте элемент с именем testIcon. Создайте GUID (средства>создания GUID, а затем выберите "Формат реестра" и нажмите кнопку "Копировать") и вставьте его вvalue
атрибут. Результат должен выглядеть следующим образом:<!-- Create your own GUID --> <GuidSymbol name="testIcon" value="{00000000-0000-0000-0000-0000}">
<IDSymbol>
Добавьте значок для значка. Атрибутname
является идентификатором значка иvalue
указывает его положение на полосе, если таковой имеется. Если есть только один значок, добавьте 1. Результат должен выглядеть следующим образом:<!-- Create your own GUID --> <GuidSymbol name="testIcon" value="{00000000-0000-0000-0000-0000}"> <IDSymbol name="testIcon1" value="1" /> </GuidSymbol>
<Bitmap>
Создайте в разделе в<Bitmaps>
разделе<Commands>
VSCT-файла, чтобы представить растровое изображение, содержащее значки.guid
Задайте для значения имя элемента, созданного<GuidSymbol>
на предыдущем шаге.href
Задайте для значения относительный путь к файлу растрового изображения (в данном случае имя> файла Resources\<icon.usedList
Задайте значение идентификатора IDSymbol, созданного ранее. Этот атрибут задает список значков, разделенных запятыми, которые будут использоваться в VSPackage. Значки, не хваченные в списке, исключают компиляцию форм.Блок растровых карт должен выглядеть следующим образом:
<Bitmap guid="testIcon" href="Resources\<icon file name>" usedList="testIcon1"/>
В существующем
<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>
Проверьте значок. Выполните сборку решения и запустите отладку. В экспериментальном экземпляре найдите команду. Он должен отобразить добавленный значок.