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>

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

结果:

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

时间: 2024-10-05 04:45:04

visual Studio 2017 扩展开发(二)《菜单图标详解》的相关文章

visual Studio 2017 扩展开发(一)《向Visual Studio菜单栏新增一个菜单》

最近有接触到关于visual studio 2017 扩展的开发,特此记录,也是为了督促自己去深入了解其原理. 开始开发Visual Studio 扩展,在这里我安装了visual studio 2017, 在安装的时候记得勾选上visual studio 扩展开发. 创建一个项目 我们打开编译器,文件→新建项目,模板→Visual C#→Extensibility 选择 VSIX Project.创建一个项目. 添加自定义命令 右键项目,添加新项.Visual C#项→Extensibilit

visual Studio 2017 扩展开发(三)《绑定快捷键到菜单项》

如何将键盘快捷方式映射到自定义按钮,怎么使用快捷键启动自己创建的菜单,刚开始做的时候迷糊了,找了很久.可能也是因为刚开始做不是很明白,后面慢慢就懂了.其实非常简单的. 很多快捷键已经在Visual studio中使用的,在确定快捷键之前验证下你想设置的快捷键是否可以使用,当然是不可以重复啦,是吧. 验证快捷键是否被使用 工具→选项→环境,选择键盘 输入你想设置的快捷键,如果快捷键已经被使用则会显示当前使用的对象. 绑定键盘快捷键 打开commandPackage.vsct 在CommandTab

Visual Studio 2017 扩展

因为最近录制视频的缘故,很多朋友都在QQ群留言,或者微信公众号私信我,问我一些工具和一些插件啊,怎么使用的啊?那么今天我忙里偷闲整理一下清单,然后在这里面公布出来. Visual Studio 2017 扩展 Visual Studio 2017 15.4.4 : 目前是最新的版本号,所有的工具&插件都支持这个版本号.所以请对号入座. ReSharper : 首先的是Resharper,这个基本是目前是我开发过程中必备的工具集,唯一的缺点就是吃内存,所以你的内存要是低于8G,就不要使用它了.它的

二码公益系统开发二码公益详解

二码公益开发,二码公益系统开发(苏念.188.1414.7927)二码公益平台开发 二码公益制度开发 二码公益项目开发 二码公益app开发 开发二码公益一公益,从人性角度思考,信息是人类获取互联网的最基本的需求,也就是类比食欲.社交对于人类来说属于第二个需求,所谓温饱思社交就是这个意思,因此社交网络是类比.合作是一种精神属性的行为,标志着人类进入了文明时代,因此子超把合作类比精神的层面.任何一个互联网产品的发展趋势都是先满足食欲,最后是精神的层面,我们判断未来的趋势也是可以这样类比判断的. 那么

Visual Studio的Web Performance Test提取规则详解(1)

总结 Visual Studio的Web Performance Test是基于HTTP协议层的,它不依赖于浏览器,通过直接接收,发送HTTP包来和Web服务器交互.Web Performance Test发送和接收的一系列请求和响应之间存在相关性,例如,用户登录后,SID被传递给客户端,下一次请求时,需要把SID发送到服务器.因此,Web Perfomance Test 定义了多种提取规则,帮助从服务器响应中提取信息,用于之后的请求.或者保存起来,作为测试结果的一部分. Web Perform

Visual Studio 2017 ASP.NET Core开发

Visual Studio 2017 ASP.NET Core开发,Visual Studio 2017 已经内置ASP.NET Core 开发工具. 在选择.NET Core 功能安装以后就可以进行ASP.NET Core开发. 新的ASP.NET Core项目为csproj ,打开之前的xproj项目,会提示单向升级,确认以后,会自动帮你升级至csproj. 新建项目 VS 2017新建ASP.NET Core 项目: 确定以后 可选择ASP.NET Core 1.0 和ASP.NET Co

【转】角落的开发工具集之Vs(Visual Studio)2017插件推荐

因为最近录制视频的缘故,很多朋友都在QQ群留言,或者微信公众号私信我,问我一些工具和一些插件啊,怎么使用的啊?那么今天我忙里偷闲整理一下清单,然后在这里面公布出来. Visual Studio 2017 扩展 Visual Studio 2017 15.4.4 : 目前是最新的版本号,所有的工具&插件都支持这个版本号.所以请对号入座. ReSharper : 首先的是Resharper,这个基本是目前是我开发过程中必备的工具集,唯一的缺点就是吃内存,所以你的内存要是低于8G,就不要使用它了.它的

OpenGL 开发环境配置:Visual Studio 2017 + GLFW + GLEW

Step1:Visual Studio 2017 Why 开发环境,后面编译GLFW 和 GLEW也要用 How 这里使用的是Visual Studio 2017的 Community 版本,直接官网下载,注册,就可以免费用. 2017版本在安装界面里注意要勾选c++相关选项,否则默认不安装c++组件. 当然,较早版本(2015,2013,2010什么的)也是可以的. Step2:CMake Why 后面几步要用到的东西需要手动编译(用Visual Studio编译),但是下载下来的都是源码,并

Visual Studio 2017 发布

https://www.visualstudio.com/zh-cn/news/releasenotes/vs2017-relnotes 发布日期:2017 年 3 月 7 日 摘要 开发:快速导航.编写并修复代码 新的安装体验 - 降低了最小内存需求量以实现更快.更定制化的安装,并且支持脱机安装. Visual Studio IDE - 大幅改进了 Visual Studio 2017,包括减少启动和解决方案加载时间.改进登录和标识.改进代码导航以及增添打开文件视图和链接的服务,实现了应用和任