-- 作者:jiangxun
-- 发布时间:2015/2/25 10:17:00
--
Dim dt As DataTable = DataTables("菜单管理") For Each dr As DataRow In dt.DataRows Select Case dr("类型") Case "功能区" Dim ntab As RibbonMenu.Tab Dim ngrp As RibbonMenu.Group Dim menubtn As RibbonMenu.MenuButton Dim nmenu As Object \'如果第二级是空,没有功能区名称 If dr("功能区") <> "" Then \' messagebox.show(dr("功能区")) If RibbonTabs.Contains(dr("功能区")) Then ntab = RibbonTabs(dr("功能区")) Else ntab = New RibbonMenu.Tab(dr("功能区")) RibbonTabs.Add(ntab) End If ntab.Text = dr("功能区") \'如果第三级是空,没有功能组名称 If dr("功能组") <> "" Then \' messagebox.show(dr("功能组")) If ntab.Groups.Contains(dr("功能组")) Then ngrp = ntab.Groups(dr("功能组")) Else ngrp = New RibbonMenu.Group(dr("功能组")) ntab.Groups.Add(ngrp) End If ngrp.Text = dr("功能组") \'如果第四级是空,没有菜单按钮 If dr("菜单按钮标题") <> "" Then \'messagebox.show(dr("菜单按钮标题")) If ngrp.Items.Contains(dr("菜单按钮标题")) Then menubtn = ngrp.Items(dr("菜单按钮标题")) Else menubtn = New RibbonMenu.MenuButton(dr("菜单按钮标题")) ngrp.Items.Add(menubtn) End If menubtn.text = dr("菜单按钮标题") \'如果第五级是空,没有下拉按钮 If dr("菜单标题") <> "" Then \'messagebox.show(dr("菜单标题"))
\'编译一个生成不同菜单的函数 Functions.Remove("CreateMenu") Dim Code As String = "" Code = "Dim menu As New RibbonMenu.Button" & "(""" & dr("_Identify") & """)" & vbcrlf Code = Code & "Return menu" Functions.Add("CreateMenu", Code) Functions.Complie() nmenu = Functions.Execute("CreateMenu") \' ntab.Text = dr("功能区") \' ngrp.Text = dr("功能组") \' menubtn.text = dr("菜单按钮标题") nmenu.Text = dr("菜单标题") menubtn.Items.Add(nmenu) \'加入菜单
End If End If End If End If End Select Next
|