当前位置:七道奇文章资讯编程技术VC/C++编程
日期:2011-03-22 13:55:00  来源:本站整理

用C++ Builder成立上下文菜单扩大处理器[VC/C++编程]

赞助商链接



  本文“用C++ Builder成立上下文菜单扩大处理器[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

当用户右击一个shell对象时,shell会显示它的上下文菜单.文件系统对象有大量的尺度菜单项,如"剪切"和"拷贝",这些都是缺省的菜单项.假如对象是一个文件,是文件类的成员,就可以够在注册表里指定附加的菜单项.Shell查抄注册表,看看文件范例能否与一些上下文菜单handler相关联,假如是,shell会咨询这些handler能否增添额外的菜单项.

上下文菜单handler是一种shell扩大handler,它增添号令到已有的上下文菜单中.上下文菜单handler都与特定的文件类相关联,并且在显示这类文件的成员的上下文菜单时调用.通过实现和注册这样一个handler,可以动态地增添菜单项到对象的上下文菜单上,从而为特别的对象定制菜单.

上下文菜单Handler的工作原理

作为一种shell扩大handler,上下文菜单handler同全部别的handler一样, 是进程内COM 对象,即对象作为动态衔接库 (DLL)实现.除了IUnknown接口外,上下文菜单还必须导出IShellExtInit和IContextMenu接口,作为挑选,上下文菜单也能导出IContextMenu2和IContextMenu3,这些接口可以实现自画菜单项.

IShellExtInit接口仅仅被shell用来初始化handler,主要的操作通过handler的IContextMenu接口举行.Shell首先调用IContextMenu::QueryContextMenu,传送一个HMENU句柄,这个办法用它来增添上下文菜单.假如用户亮选了这些新增添的某个号令项, IContextMenu::GetCommandString将被调用,以获得这条菜单的帮忙信息,把它显示在资源管理器的状况条上.假如用户单击了handler的条目,shell调用IContextMenu::InvokeCommand,从而handler可以履行符合的操作.

实现IContextMenu接口

1、实现QueryContextMenu办法


  以上是“用C++ Builder成立上下文菜单扩大处理器[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • 利用cmd号令行窗口操作SqlServer的办法
  • CSS代码实例:用CSS代码写出的各种形状图形
  • Ubuntu利用cvt号令生成xorg.conf下的屏幕辨别率和刷
  • 在Firefox中利用Chrome自动更新的Flash
  • ubuntu 10.04下禁用ctrl+alt+del
  • 利用crontab实现以秒履行
  • Ubuntu利用crontab按时任务
  • Ubuntu系统中启用Chrome的Web App利用
  • 电脑换了双核CPU性能不但没提高用CPU-Z检测出来竟然是单核
  • 不用C++代码写MFC基于对话框利用程序
  • 进程spoolsv.exe占用CPU利用率100%的办理办法
  • 在MySQL数据库中利用C履行SQL语句
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .