Foxtable(狐表)用户栏目专家坐堂 → 动态生成菜单


  共有13465人关注过本帖树形打印复制链接

主题:动态生成菜单

帅哥哟,离线,有人找我吗?
blackzhu
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
动态生成菜单  发帖心情 Post By:2011/8/16 15:26:00 [只看该作者]

Dim b As New RibbonMenu.Button(dr("菜单组件名称"))  

因为菜单控件有很多,所以我加了一个菜单组件类型,我如何替换

 New RibbonMenu.Button

为dr("菜单组件类型")


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/16 15:39:00 [只看该作者]

select case dr("组件类型")

       case "按钮"

           Dim b As New RibbonMenu.Button(dr("组建名称")

       case "文本框"

           Dim b As New RibbonMenu.TextBox(dr("组建名称")

       .....

 

end Select


 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/8/16 15:49:00 [只看该作者]

 Select Case dr("菜单组件类型")
        Case dr("菜单组件名称")
            Dim b As New RibbonMenu.Button(dr("菜单组件名称"))
            b.Text= dr("菜单组件名称")
            g.Items.Add(b)
        Case dr("菜单组件名称")
            Dim b As New RibbonMenu.TextBox(dr("菜单组件名称"))
            b.Text= dr("菜单组件名称")
            g.Items.Add(b)
    End Select
 
我在表菜单组件的里面输入:


是这个RibbonMenu.Button 没有添加    加入 button也没有添加,应该写什么?


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/16 15:56:00 [只看该作者]

在菜单组件类型列输入按钮、文本框之类的。
 
 
Select Case dr("菜单组件类型")
    Case "按钮"
        Dim b As New RibbonMenu.Button(dr("菜单组件名称"))
        b.Text= dr("菜单组件名称")
        g.Items.Add(b)
    Case "文本框"
        Dim b As New RibbonMenu.TextBox(dr("菜单组件名称"))
        b.Text= dr("菜单组件名称")
        g.Items.Add(b)
End Select
[此贴子已经被作者于2011-8-16 15:56:40编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/8/16 16:12:00 [只看该作者]

明白了!


 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  6楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/8/16 16:40:00 [只看该作者]

For Each dr As DataRow In DataTables("表A").DataRows
    Dim gn As New RibbonMenu.Tab(dr("功能区"))
    If RibbonTabs.Contains(dr("功能区")) Then
        Dim g As New RibbonMenu.Group(dr("功能组"))
        If RibbonTabs(dr("功能区")).Groups.Contains(dr("功能组"))Then
            Select Case dr("菜单组件类型")
                Case "按钮"
                    Dim b As New RibbonMenu.Button(dr("菜单组件名称"))
                    b.Text= dr("菜单组件名称")
                    g.Items.Add(b)
                Case "文本框"
                    Dim b As New RibbonMenu.TextBox(dr("菜单组件名称"))
                    b.Text= dr("菜单组件名称")
                    g.Items.Add(b)
            End Select
        Else
            g.Text = dr("功能组")
            RibbonTabs(dr("功能区")).Groups.Add(g)
        End If
    Else
        gn.Text = dr("功能区") 
        RibbonTabs.Add(gn)
    End If
Next

我这个逻辑错在那儿,判断如果功能区在,就加载功能组,如果功能组在就加载控件,但是功能区和功能组都行,控件不行.

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  7楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/8/16 16:41:00 [只看该作者]

不对,功能组按钮按两次才行.

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  8楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/8/16 16:41:00 [只看该作者]

按两次才会加载功能做.

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/16 16:45:00 [只看该作者]

输入的时候,按顺序,功能区在前面,然后是功能组,然后是各个按钮。

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  10楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/8/16 16:49:00 [只看该作者]

不能一次搞定的吗?

 回到顶部
总数 13 1 2 下一页