MDI窗口已打开的sheet,自动添加下拉菜单问题

yyoinge 2011-09-16 12:06:36
MDI窗口,通过OpenSheet(Sheetrefvar{,windowtype},mdiframe,{,position{,arrangeopen}})打开sheet窗口后再position对应的菜单下面会自动添加一个菜单项

但是,通过upperbound(菜单项.item)取得的值却不包括自动添加的已打开sheet菜单项,这个是怎么实现的呢?



另外,如何能够实现在单击(clicked)或者选择(selected)MDI主窗口的某一菜单项时,动态添加并显示本次添加的菜单项呢?
主要是显示,动态添加倒是没有难度,但是添加后由于当前焦点还在菜单上,所以无法事实显示出本次动态添加的菜单项。只能在再次单击MDI主窗口的菜单项后,才能看到上一次动态添加的菜单项。如何在能够马上添加马上显示出来呢?


...全文
207 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanyyh 2011-10-21
  • 打赏
  • 举报
回复
是否想把已打开的所有窗口Sheet对应的菜单找出来,再动态来插入呢?

window下有getfirstsheet与getnextsheet函数,可以用来找到所有已打开的窗口

然后如果菜单的tag中或数据库中有菜单对应窗口的classename,则可以实现您所需的动态要求

不知道这样是否可行
LamarChen 2011-09-29
  • 打赏
  • 举报
回复
深奥 + 需求比较怪
feifeihcb 2011-09-29
  • 打赏
  • 举报
回复
帮你顶起来,要不弄个对应的地方弄个enchange事件。。
  • 打赏
  • 举报
回复
好深奥呀。
yyoinge 2011-09-29
  • 打赏
  • 举报
回复
发现这个问题,在CSDN上,是寻找不到答案了

下午5点准时结贴吧!

回复者均有分
szgw 2011-09-27
  • 打赏
  • 举报
回复
200�ְ��������ʺö����Ⱑ���ϴ����ֺò���
yyoinge 2011-09-26
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 gzhujus 的回复:]
不知道有没误解你的意思,或许可以尝试用数组来做.


C/C++ code

int li_rc
w_basesheet lw_sheet

/* Open an instance of the specified sheet */
li_rc = OpenSheet ( lw_sheet, as_sheetname, w_mdi_main, 0, Cascaded! )
……
[/Quote]

误解了!! 呵呵

我要的是在主菜单上,当鼠标移动到特定一级菜单时,动态生成二级或三级子菜单
天上人间 2011-09-26
  • 打赏
  • 举报
回复
不知道有没误解你的意思,或许可以尝试用数组来做.


int li_rc
w_basesheet lw_sheet

/* Open an instance of the specified sheet */
li_rc = OpenSheet ( lw_sheet, as_sheetname, w_mdi_main, 0, Cascaded! )

If li_rc = 1 Then
/* Add the sheet reference to the open sheet array */
iw_opensheets[UpperBound(iw_opensheets)+1] = lw_sheet
End If
dawugui 2011-09-17
  • 打赏
  • 举报
回复
200分很诱人,不懂,帮你顶.

604

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 控件与界面
社区管理员
  • 控件与界面社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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