在线!请教!pb中如何动态创建生成菜单!!!!!!!!!

dzy983 2005-04-15 01:56:33
pb中如何动态创建生成菜单,并且能判断触发每个菜单项的clicked事件!在线等待!!!
...全文
321 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
balloonman2002 2005-04-15
  • 打赏
  • 举报
回复
我已经发到 dzy-j983@163.net 了,请查收
dzy983 2005-04-15
  • 打赏
  • 举报
回复
to:li_d_s兄台遇到过下述问题没
我如果主菜单一项都没有!加载的菜单就显示不出来!而我刚好所有的菜单都是动态加载,起初一个子项没有!没有一个空的子项不行!
li_d_s 2005-04-15
  • 打赏
  • 举报
回复
应该是至少有一项,你加一项试试看嘛
dzy983 2005-04-15
  • 打赏
  • 举报
回复
li_itemcount=upperbound(m_main.item[])

m_main.item[li_itemcount + 1]=im_new[ii_count].item[1]
m_main这个菜单必须至少有一个空子项吗!
dzy983 2005-04-15
  • 打赏
  • 举报
回复
对!是刷新问题!忘了这两行代码!
li_d_s 2005-04-15
  • 打赏
  • 举报
回复
这是我的对象里面的变量,你最后有没有用
m_main.Item[1].Hide()
m_main.Item[1].Show()
刷新啊,还有,跟踪进去看看m_main的item数组有没有值啊
dzy983 2005-04-15
  • 打赏
  • 举报
回复
兄弟!你有些东西我看着不是很明白!像userfunction[i],w_parent,FunctionNum是哪来的
另外:调用的地方是主菜单的一个事件里面,事件是什么事件!就在什么动态加载菜单!
li_d_s 2005-04-15
  • 打赏
  • 举报
回复
我是自己做了一个函数的,调用的地方是主菜单的一个事件里面:
of_CreateMenu(m_function) //m_function是你要创建的菜单的父菜单
Item[1].Hide()
Item[1].Show()

public subroutine of_createmenu (ref menu parentmenu);Menu lm_dynamic[]

Integer li_ret,i
li_ret = FunctionNum //UpperBound(UserFunction)
If li_ret <= 0 Then Return

//¼ÓÈë²Ëµ¥
Integer li_pos
li_pos = UpperBound(ParentMenu.Item)
For i = 1 To li_ret
lm_dynamic[i] = Create m_dynamic
ParentMenu.Item[li_pos + i] = lm_dynamic[i].Item[1]
ParentMenu.Item[li_pos + i].Text = UserFunction[i].FunctionName
ParentMenu.Item[li_pos + i].Tag = UserFunction[i].FunctionCode
Next
w_parent = ParentMenu.ParentWindow
end subroutine
dzy983 2005-04-15
  • 打赏
  • 举报
回复
贴出来也可以!
dzy983 2005-04-15
  • 打赏
  • 举报
回复
to: li_d_s
为什么我用了他的方法但不成功呢!我的m_main的所有项目都要动态生成!你能把你的生成函数发给我吗!但贴出来!dzy-j983@163.net!急!回复!
li_d_s 2005-04-15
  • 打赏
  • 举报
回复
http://blog.csdn.net/balloonman2002/archive/2004/06/28/28708.aspx
这篇文章写的挺好的啊,实现了动态菜单,只不过没有直接实现click事件,而是通过全局函数来处理的,可以参考一下,我现在有个项目也是这么做的

1,079

社区成员

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

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