图学PowerBuilder----调用窗口的三种方式

调用窗口的三种方式

1、直接打开

此种方法为最基本的方法,方法名称为:Open(窗口名称)

方法名称

Open

功    能

打开一个新窗口

语    法

Open ( windowvar {, parent } )

参    数

描述

备注

windowvar 

指定要打开的窗口名

直接指定窗口类名

parent

父窗体名

可选项

例:已知窗口 w_genapp_main

       打开窗口:  open(w_genapp_main)

2、打开并传递参数

采用此方法打开窗口时,可根据需要向打开的窗口传递多种类型的参数,以方便打开窗口根据参数进行业务处理。

方法名称

OpenWithParm

功    能

打开一个窗口并在打开过程中向其传递一个参数

语    法

OpenWithParm( windowvar, parameter {, parent } )

参    数

描述

备注

windowvar

指定要打开的窗口名

直接指定窗口类名

parameter

要传递的参数

 String  Numeric PowerObject(郁闷,只有这三种)

parent

父窗口名

可选项

例:已知窗口:w_genapp_child

        打开窗口:openwithParm(w_genapp_child,"param")

        在打开的窗口中接收参数:string aaa=Message.StringParm

3、MDI窗口打开子窗口

当采用模板方式创建或在窗体属性中指定窗口属性为MDI!时,可采用OpenSheet方法打开子窗口。

方法名称

OpenSheet

功    能

在MDI 框架窗口中打开MDI子窗口并在指定菜单中创建选择该子窗口的菜单项

语    法

OpenSheet(sheetrefvar{,windowtype},mdiframe{,position{,arrangeopen}})

参    数

描述

备注

sheetrefvar

指定要作为工作表打开的窗口名

直接指定窗口类名

windowtype

可选项指定是要打开窗口的类型也就是窗口画笔中保存的窗口对象名

string 类型

mdiframe

指定要放置工作表的MDI 框架窗口名

直接指定窗口类名

position

可选参数指定所打开的工作表的名称作为一个菜单项显示在第几个菜单标题下面

数值型

arrangeopen

ArrangeOpen 枚举类型可选参数但如果选用了此参数那么position 参数也必须同时指定arrangeopen 参数告诉系统如何显示打开的工作表

用法arrangeopen 参数的可能取值为:
Cascaded! :层叠显示默认选择 
Layered! :平铺
Original! :窗口设计位置

   

例:已知子窗口 w_genapp_child

         打开窗口  OpenSheet(w_genapp_child,w_genapp_main,0,layered!)

与OpenWithParm相似的还有OpenSheetWithParm

注意:当需要使用MDI窗体时,设计时请不要在主窗体上放置任何对象,否则子窗体将不会显示。

------------------------------郁闷的分隔线---------------------------------------------------

在做练习程序时发现一个菜单的问题。本来打算在菜单一节中再说,但考虑到与OPENSHEET有关故在此说明一下。

悲催呀!一个菜单的问题搞了一天半。

情况如下:主窗体里有如下菜单项:【系统维护】、【数据输入】、【查询】、【报表】、【窗口】、【退出】
当点击子菜单打开一个子窗体后,会在【报表】项填加一个子菜单【N 窗口名】
打开窗口的方法为opensheet(子窗体名,父窗体名,0,layered!)
按帮助说明默认为0时,应该在【窗口】项下。当把0改成其它值时不会在任何菜单下添加子菜单。

后来又反复试了几次,包括移动各项,增加新的菜单 等。上网搜寻若干,到相关群了解若干。无济于事。

最后才发现:  

【POSTION】选项所述的确实没有错。但无论是否是默认值。如果所要依附的菜单项没有子菜单。打开子窗口时也不会在指定的菜单项上附加。


---------------------------------55555555555-------------------一天半的时间就为了这么一个小问题。PB我还真不知道说你什么好了-------------------------------------

各位后进切记!!!!!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值