PB知道Menu的里面的菜单名字(String)怎么控制它的可视性
例如:
Menu:m_system.m_exit
代码是这样的情况下,怎么处理它的可视性
String ls_menu = "m_system.m_exit"
...
...
...
------解决方案--------------------
你要遍历菜单,判断NAME一样,再处理
------解决方案--------------------
楼主可以将 ls_menu 拆分成数组,如下
long i,m,l_levels
string ls_menu[]={'m_dw','m_text','m_0'}
boolean lb_find
menu lmenu
lmenu=create using ls_menu[1] //假如第一个为全局对象
l_levels=upperbound(ls_menu[])
for m=2 to l_levels
for i=1 to upperbound(lmenu.item[])
if lmenu.item[i].classname()<>ls_menu[m] then continue;
if m=l_levels then //查找的最后一个
lmenu.item[i].visible=false
else
lmenu=lmenu.item[i]
end if
exit
next
next
lmenu.popmenu(xpos,ypos)
destroy lmenu
------解决方案--------------------
如果你是放在字符串里,然后想进行操作,需要用到的就是反射,只能进行菜单遍历,找到对应的类,然后进行操作,如果菜单比较多,而且你每个都这么找,效率比较差,你可以考虑把菜单的classname放到数据窗口中,再把菜单顺序放到数据窗口中,效率就非常快了