开发VS2008插件怎么添加菜单项
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了开发VS2008插件怎么添加菜单项相关的知识,希望对你有一定的参考价值。
参考技术A 使用VS2008开发MFC,比如说想将一个变量m_num关联到ID为IDD_EDIT1的editcontrol控件上。(1)首先找到资源视图(视图——资源视图),打开IDD_EDIT1所在的Dialog。(2)然后在此控件上右击,弹出一个菜单,点击选项“添加变量”,弹出一个对话框:(3)最后根据你的需要设置此变量,点击按钮“完成”即可。(4)查看代码,可发现增添了如下代码:在对应的头文件中多了这个变量的声明:public:intm_num1;在对应的cpp文件中的构造函数中多了其初始化:CTestDialog::CTestDialog(CWnd*pParent/*=NULL*/):CDialog(CTestDialog::IDD,pParent),m_num1(0),m_num2(0),m_num3(0)在对应的cpp文件中的DoDataExchange()函数中多了如下代码:voidCTestDialog::DoDataExchange(CDataExchange*pDX)CDialog::DoDataExchange(pDX);DDX_Text(pDX,IDC_EDIT1,m_num1);VSIX 插件右键菜单
vs2017 插件开发
环境
WIN10 VS2017 CMMT
目标
文件发布,实现右击一个文件,复制到指定目录中.
建立VSIX项目,添加自定义命令项
.vsct
VSIX项目建好后,会有这个XML文件,记录自定义命令的相关属性,例如命令名字,图标,摆放位置
关键节点:
0.项目相关符号定义节
<GuidSymbol name="guidPublishFilePackage" value="{936ecd2c-2941-43e8-afff-71bd15417822}" />
项目建立后,有一个和项目名对应的CS文件,其中常量PackageGuidString值与此节的value值对应
1.符号定义节
<GuidSymbol name="guidPublishFilePackageCmdSetFILE" value="{14c506cb-99dc-4922-addf-3cefe8fbbc64}">
<IDSymbol name="MyMenuGroupFile" value="0x0100" />
<IDSymbol name="PublishFileId" value="0x0101" />
</GuidSymbol>
一个GuidSymbol节,会对应一个命令类.(每添加一个自定义命令时,就会增加一个命令类,并且此处会增加节点)
GuidSymbol节定义命令guid属性,name定义guid属性名,value定义其值,该值对应命令类的成员-常量值CommandSet
IDSymbol用于定义命令的id属性.有两个,一个用于命令,一个用于命令所在的命令组
Id属性名(name)和值(value).会用于Group Button KeyBinding节点的对应属性
其中,用于Button节点的value值,一定要对应命令类的成员-常量值CommandId,否则点击命令时无效
2.命令组节
<Groups>
<Group guid="guidPublishFilePackageCmdSetFILE" id="MyMenuGroupFile" priority="0x0600">
<Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_ITEMNODE" />
</Group>
<Groups>
Group节表示一个命令组,它的guid属性值,就是来源于符号节 GuidSymbol 的name的值,id属性值来源于符号节IDSymbol第1个 的name的值. 如果有多个命令组,会有多个group节
其中节点Parent的id属性的值,表示该命令组所在的位置.也就是在VS中菜单位置.
Parent 命令ID 位置说明
3.命令节
<Button guid="guidPublishFilePackageCmdSetFILE" id="PublishFileId" priority="0x0100" type="Button">
<Parent guid="guidPublishFilePackageCmdSetFILE" id="MyMenuGroupFile" />
<Strings>
<ButtonText>发布文件</ButtonText>
</Strings>
</Button>
4.快捷键节
<KeyBindings>
<KeyBinding guid="guidPublishFilePackageCmdSetFILE" id="PublishFileId" mod1="CONTROL" mod2="CONTROL" key1="1" key2="1" editor="guidVSStd97" />
</KeyBindings>
以上是关于开发VS2008插件怎么添加菜单项的主要内容,如果未能解决你的问题,请参考以下文章