MyException - 我的异常网
当前位置:我的异常网» Visual Studio » visual Studio 2017 扩充开发(二)《菜单图标详解》

visual Studio 2017 扩充开发(二)《菜单图标详解》

www.MyException.Cn  网友分享于:2013-08-16  浏览:0次
visual Studio 2017 扩展开发(二)《菜单图标详解》

在上一篇我们在菜单栏创建了一个菜单,菜单上显示了一个图标跟文本。那么我们自己创建的菜单如何修改自定义的菜单图标呢。下面娓娓道来。。。。。

首先你要有一个图,创建一个32位的位图。这个位图的像素是16px 16px,或者是16px 16px的倍数。

每个图标都放在单个行中彼此相邻的位图上。使用Alpha通道在每个图标中指示透明的位置。如果使用8位颜色深度,请使用RGB(255,0,255)作为透明度。32位彩色图标是首选。

将图标文件复制到项目的Resources文件夹下。

打开command.png我们看到这个位图里面有六个图标

位图ID的定义方式与其他方法有点不同: 声明从位图条的guid开始,然后存在包含位图的位图条的资源id,在按钮定义中使用元素的数字ids。该声明的一个重要方面是元素id必须是位图条中位图的实际索引;

在CommandPackage.vsct文件的Symbols标签里我们看到,name为guidImages的元素。创建GUID复制到value里。

IDSymbol的name属性是图标的id,value则表示的是条带的位置,如果只有一个图标那么value就是1咯.

 <GuidSymbol name="guidImages" value="{2834e3f7-2621-479a-bb6f-e9e48d5f4df4}" >
      <IDSymbol name="bmpPic1" value="1" />
      <IDSymbol name="bmpPic2" value="2" />
      <IDSymbol name="bmpPicSearch" value="3" />
      <IDSymbol name="bmpPicX" value="4" />
      <IDSymbol name="bmpPicArrows" value="5" />
      <IDSymbol name="bmpPicStrikethrough" value="6" />
    </GuidSymbol>

文件下的Bitmaps标签下有一个Bitmaps,这个Bitmaps的GUID的值设置为guidImages,创建的GuidSymbol里的name的名称。将href设置为位图的相对路径。usedList就是之前创建的IDSymbol的name,多个就用逗号隔开。

<Bitmap guid="guidImages" href="Resources\Command.png" usedList="bmpPic1, bmpPic2, bmpPicSearch, bmpPicX, bmpPicArrows, bmpPicStrikethrough"/>

在<Button>里面有个<Icon> guid就是我们创建的GuidSymbol的name,id则是IDSymbol的name.你要用哪个图标捏,就写上IDSymbol对应name.

 <Button guid="guidCommandPackageCmdSet" id="CommandId" priority="0x0100" type="Button">
        <Parent guid="guidCommandPackageCmdSet" id="MyMenuGroup" />
        <Icon guid="guidImages" id="bmpPicSearch" />
        <Strings>
          <ButtonText>测试菜单</ButtonText>
        </Strings>
      </Button>
    </Buttons>

运行,在实验示例中我们可以看到自己创建的菜单命令的图标是不是跟你位图上对应的图标。

结果:

 

本文仅是本人随笔记录,如有疑问欢迎在下面评论。转载请写明出处。如果对你有帮助,动动鼠标有下方给我点个赞。你的支持是我最大的动力。

文章评论

总结2014中国互联网十大段子
总结2014中国互联网十大段子
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
漫画:程序员的工作
漫画:程序员的工作
一个程序员的时间管理
一个程序员的时间管理
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
为什么程序员都是夜猫子
为什么程序员都是夜猫子
我是如何打败拖延症的
我是如何打败拖延症的
那些争议最大的编程观点
那些争议最大的编程观点
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
程序员应该关注的一些事儿
程序员应该关注的一些事儿
如何成为一名黑客
如何成为一名黑客
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
代码女神横空出世
代码女神横空出世
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
鲜为人知的编程真相
鲜为人知的编程真相
10个调试和排错的小建议
10个调试和排错的小建议
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
2013年美国开发者薪资调查报告
2013年美国开发者薪资调查报告
旅行,写作,编程
旅行,写作,编程
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
程序员必看的十大电影
程序员必看的十大电影
中美印日四国程序员比较
中美印日四国程序员比较
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
程序员的鄙视链
程序员的鄙视链
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
我的丈夫是个程序员
我的丈夫是个程序员
编程语言是女人
编程语言是女人
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
2013年中国软件开发者薪资调查报告
2013年中国软件开发者薪资调查报告
每天工作4小时的程序员
每天工作4小时的程序员
 程序员的样子
程序员的样子
Google伦敦新总部 犹如星级庄园
Google伦敦新总部 犹如星级庄园
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有