以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  动态添加“菜单按钮”及动态添加菜单按钮下一级的标准按钮  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=64547)

--  作者:jiangxun
--  发布时间:2015/2/22 20:02:00
--  动态添加“菜单按钮”及动态添加菜单按钮下一级的标准按钮
如何动态添加“菜单按钮”及动态添加菜单按钮下一级的标准按钮?
--  作者:jiangxun
--  发布时间:2015/2/22 23:08:00
--  

已解决,图片点击可在新窗口打开查看恭贺新禧!羊年大吉!


--  作者:qianqian1530
--  发布时间:2015/2/22 23:10:00
--  
 上传一下带么呢`` 抠搜的``
--  作者:有点甜
--  发布时间:2015/2/23 9:08:00
--  

 类似参考 http://www.foxtable.com/help/topics/1133.htm

 


--  作者: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