当前位置: 代码迷 >> PB >> PB知道Menu的里面的菜单名字(String)如何控制它的可视性
  详细解决方案

PB知道Menu的里面的菜单名字(String)如何控制它的可视性

热度:15   发布时间:2016-04-29 06:29:25.0
PB知道Menu的里面的菜单名字(String)怎么控制它的可视性
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
------解决方案--------------------
引用:
PB知道Menu的里面的菜单名字(String)怎么控制它的可视性
例如:
         Menu:m_system.m_exit

代码是这样的情况下,怎么处理它的可视性
String ls_menu = "m_system.m_exit"
...
...
...
         


如果你是放在字符串里,然后想进行操作,需要用到的就是反射,只能进行菜单遍历,找到对应的类,然后进行操作,如果菜单比较多,而且你每个都这么找,效率比较差,你可以考虑把菜单的classname放到数据窗口中,再把菜单顺序放到数据窗口中,效率就非常快了
  相关解决方案