关于动态生成菜单

johnnywang1980 2003-09-08 04:09:47
现有一个想法,根据给客户的不同版本(个人版,标准版,企业版)动态的来生成主窗口上的菜单,大家给点思路。用XML?还是用INI配置文件?同时还得考虑客户的破解问题。
...全文
28 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
johnnywang1980 2003-09-08
  • 打赏
  • 举报
回复
楼上的兄台有没具体点的例子?
johnnywang1980 2003-09-08
  • 打赏
  • 举报
回复
楼上的兄台有没具体点的例子?
flxa 2003-09-08
  • 打赏
  • 举报
回复
我做的是用XML做的!

XML的清晰的层次结构正好能够很好的表示出菜单的各位层次,这样,比较数据库要好多了!数据的话,可以使用自链表。

然后在菜单数据的节点上保存有关的版本内容,如文件菜单,普及版有,简易版没有!

然后再加载菜单的时候根据有关内容加载。
权限设计也是一样,每个要权限对应一个菜单!
johnnywang1980 2003-09-08
  • 打赏
  • 举报
回复
有没有用XML实现的方法?
didishu0807 2003-09-08
  • 打赏
  • 举报
回复
根据用户的级别来定义
eg:
If g_sUserDepartment = "003" And g_sUserFunction = "部门经理" And g_sUserRate = "高级" Then
MDIFrmwWintransPrice.mnuAccTime.Enabled = True
Else
MDIFrmwWintransPrice.mnuAccTime.Enabled = False
End If
If g_sUserDepartment = "001" Then
MDIFrmwWintransPrice.mnuBaseIn.Enabled = True
MDIFrmwWintransPrice.mnuInformation.Enabled = True
MDIFrmwWintransPrice.mnuVesselSCHDL.Enabled = True
Else
MDIFrmwWintransPrice.mnuBaseIn.Enabled = False
MDIFrmwWintransPrice.mnuInformation.Enabled = False
End If
'===================================
If g_sUserDepartment = "003" Or g_sUserFunction = "经理" Then
MDIFrmwWintransPrice.mnuFiscal.Enabled = True
Else
MDIFrmwWintransPrice.mnuFiscal.Enabled = False
End If
g_sUserDepartment ,g_sUserFunction ,g_sUserRate 是全局变量
yijiansong 2003-09-08
  • 打赏
  • 举报
回复
赞同楼上
zhouqi66 2003-09-08
  • 打赏
  • 举报
回复
For Each Ctrl In Me.Controls
If TypeOf Ctrl Is Menu Then
If GetRight(Edition,Function) Then
Ctrl.Enabled = True
Else
Ctrl.Enabled = false
End If
Next

Function GetRight(byval Edition as string,Byval Function as string) as boolean
'读取权限,根据所用版本和所用功能,自已定吧
End Function
LCAAA 2003-09-08
  • 打赏
  • 举报
回复
你可以这样
If grade = "省" Then
frmmain.menu.Visible = False
frmmain.menu_wzcl1.Visible = False

frmmain.menundjz.Visible = False
frmmain.menuwhz.Visible = False
frmmain.menuklldc.Visible = False
ElseIf grade = "市" Then
frmmain.menuxsdwqk.Visible = True
ElseIf grade = "县" Then
frmmain.menuxsdwqk.Visible = False
End If
johnnywang1980 2003-09-08
  • 打赏
  • 举报
回复
我up
johnnywang1980 2003-09-08
  • 打赏
  • 举报
回复
那具体应该怎么搞呢?有没例子之类的给小弟一个?
紫罗兰Cherry 2003-09-08
  • 打赏
  • 举报
回复
使用两个都可以,不过我认为使用xml好一些!

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧