以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  自动生成自定义菜单  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=97218)

--  作者:cd_tdh
--  发布时间:2017/3/8 10:20:00
--  自动生成自定义菜单

老师,我自定义菜单生成出来是这样的:

 
图片点击可在新窗口打开查看此主题相关图片如下:01.png
图片点击可在新窗口打开查看

怎么图标很小,要下面这样的效果怎么修改,怎么增加分割条?


图片点击可在新窗口打开查看此主题相关图片如下:02.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2017/3/8 10:28:00
--  
设置大图标:http://www.foxtable.com/webhelp/scr/1067.htm

分隔条见上面帮助第二张图

--  作者:有点色
--  发布时间:2017/3/8 10:29:00
--  

1、设置大图标的图片;

 

2、有分割条控件的,直接加入即可。


--  作者:cd_tdh
--  发布时间:2017/3/8 13:02:00
--  
有点蓝老师,通过菜单设计那个会了,我是通过菜单表自动生成菜单来的,只生成小图标,没法生成大图标和分隔条。
--  作者:有点色
--  发布时间:2017/3/8 13:58:00
--  

上传例子或者贴出代码

 

你要指定图片 b.LargeImage = getimage("d:\\test.ico")


--  作者:cd_tdh
--  发布时间:2017/3/8 15:49:00
--  
以下是引用有点色在2017/3/8 13:58:00的发言:

上传例子或者贴出代码

 

你要指定图片 b.LargeImage = getimage("d:\\test.ico")

RibbonTabs.Clear
QAT.Items.Clear
ConfigBar.Items.Clear

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 nmenu As Object
            If RibbonTabs.Contains(dr("功能区")) Then
                ntab = RibbonTabs(dr("功能区"))
            Else
                ntab = New RibbonMenu.Tab(dr("功能区"))
                RibbonTabs.Add(ntab)
            End If
            If ntab.Groups.Contains(dr("功能组")) Then
                ngrp = ntab.Groups(dr("功能组"))
            Else
                ngrp = New RibbonMenu.Group(dr("功能组"))
                ntab.Groups.Add(ngrp)
            End If
            \'编译一个生成不同菜单的函数
            Functions.Remove("CreateMenu")
            Dim Code As String = ""
            Code = "Dim menu As New " & dr("菜单类型") & "(""" & dr("_Identify") & """)" & vbcrlf
            Code = Code & "Return menu"
            Functions.Add("CreateMenu", Code)
            Functions.Complie()
            nmenu = Functions.Execute("CreateMenu")
            ntab.Text = dr("功能区")
            ngrp.Text = dr("功能组")
            nmenu.Text = dr("菜单标题")
            nmenu.smallImage = getimage(dr("图标"))
            ngrp.Items.Add(nmenu)   \'加入菜单
        Case "快速访问栏"
            If dr.Isnull("功能区") Then
                \'编译一个生成不同菜单的函数
                Functions.Remove("CreateMenu")
                Dim Code As String = ""
                Code = "Dim menu As New " & dr("菜单类型") & "(""" & dr("菜单标题") & """)" & vbcrlf
                Code = Code & "Return menu"
                Functions.Add("CreateMenu", Code)
                Functions.Complie()
                Dim nmenu As Object = Functions.Execute("CreateMenu")
                nmenu.Text = dr("菜单标题")
                QAT.Items.Add(nmenu)
            Else
                \'编译一个生成不同菜单的函数
                Functions.Remove("CreateMenu")
                Dim Code As String = ""
                Code = "Dim menu As New " & dr("菜单类型") & "(""" & dr("_Identify") & """)" & vbcrlf
                Code = Code & "Return menu"
                Functions.Add("CreateMenu", Code)
                Functions.Complie()
                Dim nmenu As Object = Functions.Execute("CreateMenu")
                nmenu.Text = dr("菜单标题")
                QAT.Items(dr("功能区")).Items.Add(nmenu)
            End If
        Case "配置栏"
            \'编译一个生成不同菜单的函数
            Functions.Remove("CreateMenu")
            Dim Code As String = ""
            Code = "Dim menu As New " & dr("菜单类型") & "(""" & dr("_Identify") & """)" & vbcrlf
            Code = Code & "Return menu"
            Functions.Add("CreateMenu", Code)
            Functions.Complie()
            Dim nmenu As Object = Functions.Execute("CreateMenu")
            nmenu.Text = dr("菜单标题")
            nmenu.smallImage = getimage(dr("图标"))
            ConfigBar.Items.Add(nmenu)
    End Select
Next


--  作者:有点色
--  发布时间:2017/3/8 16:08:00
--  

加一句

 

nmenu.LargeImage = getimage(dr("图标"))


--  作者:cd_tdh
--  发布时间:2017/3/8 20:19:00
--  
有点色老师,这个功能组比狐表自带的做出来间距小,这个间距宽度怎么调整呢?
--  作者:有点色
--  发布时间:2017/3/8 21:11:00
--  
以下是引用cd_tdh在2017/3/8 20:19:00的发言:
有点色老师,这个功能组比狐表自带的做出来间距小,这个间距宽度怎么调整呢?

 

实例发上来看看。