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 参数的可能取值为: |
例:已知子窗口 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我还真不知道说你什么好了-------------------------------------
各位后进切记!!!!!!