• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 高手请进--如何用ATL把自己的菜单项整合到VB菜单中去,并且要有分割线,分嫌少可再加

高手请进--如何用ATL把自己的菜单项整合到VB菜单中去,并且要有分割线,分嫌少可再加

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了高手请进--如何用ATL把自己的菜单项整合到VB菜单中去,并且要有分割线,分嫌少可再加等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 高手请进--如何用ATL把自己的菜单项整合到VB菜单中去,并且要有分割线,分嫌少可再加
描述:

我正在用ATL写一个ActiveX控件。VB程序员在使用时(design-time),用鼠标右击控件会弹出一个上下文菜单,上面有Cut, Copy, Paste, Delete等等。我在这个菜单上加上自己的菜单项,可以调用自己的代码。现在的问题是我没有办法在上面加入分割线(separator)。我在MSDN上查了很久,相关的资料很少,但从零星的几篇文章里看出应该是可以实现的,但是就是试不出来。
我现在的做法是这样的,在注册表里该控件CLSID下加入verb项。覆盖IOleObject::DoVerb函数,写自己的代码。
按http://msdn.microsoft.com/library/default.asp?url=/library/en-us/com/htm/reg_74rm.asp
所说,注册表中verb string后的第一个参数将被AppendItem函数作为参数调用(没说是哪个参数,我通过在程序中用IOleObject::EnumVerbs验证,发现是uFlags参数)。于是我就将它设为2048(MF_SEPERATOR),可是结果还是和普通菜单项一样。
哪位高手能够帮我帮我看看,给出正解和正确思路的都给分。先在此谢过了。
MSDN上的相关资料链接:
http://support.microsoft.com/default.aspx?scid=kb;EN-US;275862
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/com/htm/reg_74rm.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/com/htm/oin_ol2t_4eb7.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/com/htm/ost_a2z_63qa.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcedcom/html/cerefclsidkey.asp


解决方案1:

在VB中添加MF_SEPERATOR就是一个"-"(文本设置乘'_'),然后按照楼上的方法试试。
2、不同点:
   分割线肯定是enable=false的,即是无效的。

解决方案2:

个人认为,分割线和其他的菜单项比较如下:
1、相同点:
   都是菜单项。
2、不同点:
   分割线肯定是enable=false的,即是无效的。
   分割线上的“文字”显示为:“--------”样式。
基于以上考虑,如果楼主已经实现了一般意义的菜单项,那么可以加上一个无效的、“-----”菜单项作为分割线。
此外,你可以VB中进行程序设计时用的分割线大概也是这个样子的。


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 高手请进--如何用ATL把自己的菜单项整合到VB菜单中去,并且要有分割线,分嫌少可再加

相关文章

  • 2017-06-05 简单ACTIVEX
  • 2017-06-05 c++中通用问题,在标准STL中是否引进了线程保护,如果没有,应如何解决
  • 2017-06-04 如何生成有窗口,菜单,工具栏的控件?
  • 2017-06-05 自己写的BHO并压包成cab之后自己写了个网页测试发现加载不了
  • 2017-06-04 关于ActiveX控件的注册问题请教?
  • 2017-06-04 在MFC应用程序中开发多个filters
  • 2017-06-05 MFC中ActiveX控件重命名
  • 2017-06-04 8848com高薪招聘VC/MFC程序员
  • 2017-06-04 com中参数传递的问题!
  • 2017-06-05 做多线程的实现时出错,如何使用static变量?

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • CRectGetIHTMLElementRectIHTMLElement如何写?
    • 求助:Activex控件实现页面加载时填写对应文本框
    • guid问题高手指点
    • 请问,如何在OLE容器中不通过COleInsertDialog对话框直接从文件插入OLE对象?
    • 如何在一个类里实现两个接口的问题
    • 请问多线程和异步执行的区别?
    • 求教怎么在VS编译器上导入mysql头文件设置
    • vc如何嵌入一个指定的word文档
    • 关于线程的问题
    • DLL如何改为控件呢?

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有