举个例子,A是个带下拉菜单的工具栏按钮,B和C是菜单上的两项,我在点击A的时候产生的事件与B相同,这时候不会弹出下拉菜单,当点击A旁边的倒三角的时候,会弹出下拉菜单,这时候会根据下面一个列表中的内容确定C是置灰还是高亮,我想问问大家,我应该如何置灰这个菜单项?在响应事件的那个位置应该怎么写?判断的时候例如D==2的时候置灰那个C菜单项,我应该如何弄呢?先谢过!

解决方案 »

  1.   

    标准的Windows组件不支持这些功能,你可以用VS 2008 SP1或者Xtreme ToolKitPro或者BCGControl
      

  2.   

    不知到你怎么实现的,EnableMenuItem可以让菜单项不可用并变灰。menu.EnableMenuItem(ID_YOUMUNUITEM,MF_BYCOMMADN|MF_DISABLEDMF_GRAYED);
      

  3.   

    1、为要显示菜单的toolbar按钮指定TBSTYLE_DROPDOWN,
    2、在响应WM_NOTIFY消息中,判断TBN_DROPDOWN通知,加载菜单资源,禁用/使用菜单项,显示菜单。
       LoadMenu
       GetSubMenu
       根据条件,EnableMenuItem
       TrackPopupMenu
      

  4.   

    你下载个Xtreme Toolikitpro 的Samples看看再说行不行。
    他的例子有很多都可以达到你的要求。例如RibbonControl,例如CommandBars,
    http://www.codejock.com/products/commandbars/tour_17.asp?platform=mfc
      

  5.   

    楼主找的是这个么?? Xtreme Command Bars提供非常漂亮的Office风格的命令条和One Note样式的Tab. 这种构架完全支持菜单和工具栏的个性化设置, 它将在应用程序工作台上给你更大的控制权, Xtreme Command Bars提供嵌入式主题支持,允许你选择预先定义的主题如Officexp、Office 2003、 Visual Studio .NET,或者自定义主题。它是Xtreme Suite的一部分。
    此产品包含在产品集合 Xtreme Toolkit Pro,Xtreme Suite Pro 中。一般特征
    Xtreme Command Bars 支持所有你对企业类组件所期望的所有特征。    Microsoft® 风格工具栏
        Microsoft® 风格菜单
        Microsoft® 风格MDI表格菜单和工具栏的个性化
    Xtreme Command Bar提供完全的个性化菜单和工具栏。    智能化菜单
        下拉式工具栏和菜单
        拖放命令
        编辑、复制、删除和更改命令
        活动的增加和移除工具栏命令
        用户自定义工具栏
        固定放大缩小工具栏图标
        固定屏幕端
        隐藏和显示工具栏