遍历菜单项

原创 2005年02月25日 17:30:00
//遍历任何窗体的MenuItem
//用了两个多小时hitwall.gif
//略做修改,就可以实现其他功能,GetMenuItemInfo提供的信息足够用了

procedure ExplorerMenuItem(MenuHandle: THandle);
var
  MenuIndex: Integer;
  MenuCaptionArray: array[1..255]  of Char;
  MenuCaptionString: String;
  ItemInfo: TMenuItemInfo;
  Buffer: array[0..20] of Char;
begin
  for MenuIndex := 0 to GetMenuItemCount(MenuHandle) - 1 do begin
    //Something todo. Here we get the caption
    GetMenuString(MenuHandle, MenuIndex, @MenuCaptionArray, 255, MF_BYPOSITION);
    MenuCaptionString := MenuCaptionArray;
    SetLength(MenuCaptionString,StrLen(PChar(MenuCaptionString)));
    ShowMessage('Menu Caption: ' + MenuCaptionString);
    //Get caption ends here.
     
    ItemInfo.cbSize := SizeOf(TMenuItemInfo);
    ItemInfo.fMask := MIIM_SUBMENU;
    ItemInfo.dwTypeData := Buffer;
    ItemInfo.cch := SizeOf(Buffer);
    GetMenuItemInfo(MenuHandle, MenuIndex, True, ItemInfo);
    //submenu, calls itself
    if ItemInfo.hSubMenu <> 0 then begin
      ExplorerMenuItem(ItemInfo.hSubMenu);
    end;
  end;
end;

C#遍历菜单项

(1)横向遍历  ToolStripMenuItem            foreach (ToolStripMenuItem con in this.MainMenuStrip.Items)   ...
  • xiaozhao_19
  • xiaozhao_19
  • 2010年09月13日 14:50
  • 1321

遍历菜单项

//遍历任何窗体的MenuItem//用了两个多小时//略做修改,就可以实现其他功能,GetMenuItemInfo提供的信息足够用了procedure ExplorerMenuItem(MenuHa...
  • LandyKing
  • LandyKing
  • 2005年03月05日 12:28
  • 973

遍历所有菜单项

在OnInitDialog中,可以调用 InitMenu( GetMenu()),从配置文件中读取菜单项,或者调用 ExportMenu(GetMenu())导出菜单内容  //加载菜单实现菜单的多语...
  • liangzhonglin
  • liangzhonglin
  • 2010年05月18日 13:32
  • 2008

MFC 遍历菜单项 获取状态 改变状态

// 遍历菜单 void CTestDlg::OnBnClickedButton2() { CMenu* cMenuMain = GetMenu(); int cntMain = cMenuMai...
  • Jingle912
  • Jingle912
  • 2017年05月17日 10:25
  • 514

菜单枚举记

菜单枚举记 有一MDI应用程序,现假设要枚举出其能够得到系统命令响应所有菜单项的内容:如命令ID,资源名称,所在(子)菜单的句柄等,并对之进行操作。本文对此略述一二,未达意处,望各位海涵之外,以我之深...
  • _17708668
  • _17708668
  • 2001年10月16日 23:45
  • 1050

遍历控件 和 菜单项

foreach (ToolStripMenuItem toolMenuItem in this.MainMenuStrip.Items) //遍历菜单栏 { ...
  • lishk314
  • lishk314
  • 2014年04月21日 12:27
  • 516

【转载于<小锋刚>博客园】C#遍历ContextMenuStrip右键菜单中包含子菜单的所有菜单并添加事件

C#遍历ContextMenuStrip右键菜单中包含子菜单的所有菜单并添加事件   右键菜单控件ContextMenuStrip,真的很方便,写了几个菜单与子菜单项,本来是可以用双击来...
  • u010276845
  • u010276845
  • 2013年12月20日 11:29
  • 1903

Cocos2dx 菜单及菜单项笔记

------------------------------ 菜单 ----------------------------- 1. CCMenu 菜单层 cocos2dx 中最基本的菜单层。功能...
  • asome_one
  • asome_one
  • 2014年09月13日 19:52
  • 828

孙鑫VC++深入详解(5):菜单

1、菜单命令响应函数  弹出式菜单(子菜单)Popup属性为true,其ID不能编辑,没有菜单命令响应函数;非弹出式菜单(菜单项)Popup属性为false,可以编辑其ID,可以为其设置菜单命令响应...
  • milanleon
  • milanleon
  • 2014年03月31日 13:07
  • 1676

Joomla宝典第四章 joomla概览节选-了解joomla!菜单

4.3.1菜单级别菜单是Joomla!核心元素之一。菜单分为两级,菜单和子菜单。例“TopMenu”菜单里包含“了解新科锐”、“产品与购买”、“方案&案例”、“服务支持”、“组织架构”子菜单,如图4...
  • joomlaer
  • joomlaer
  • 2008年07月01日 10:14
  • 6615
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:遍历菜单项
举报原因:
原因补充:

(最多只允许输入30个字)