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