如题MDI窗体中两个有哪些区别?
另外:如果在MDI主窗体中放入一个control 此时为什么用opensheet打的窗体是不可见的? 如何让它可见?
------解决方案--------------------
open打开窗口
opensheet打开子窗口
control要放在子窗口上
------解决方案--------------------
Open()
打开编程时已知数据类型的窗口对象
语法: Open ( windowvar {, parent } )
参数 :windowvar 要打开窗口的窗口名 可以使用窗口画笔定义的窗口对象名 也可以使用该窗口对象的某个变量 Open()函数将把打开窗口的引用放置到
windowvar变量中 parent 可选项 指定要打开窗口的父窗口 要打开窗口成为父窗口的子窗口
只有当要打开窗口需要成为某个窗口的子窗口时才需要指定该参数 如果应用程序使用 Open()函数打开某个子窗口或弹出窗口而又省略了该参数 那么当
前活动窗口成为被打开窗口的父窗口
返回值 Integer 函数执行成功时返回 1 发生错误时返回-1 如果任何参数的值为
NULL Open()函数返回 NULL
示例 1 下面代码打开窗口 w_employee的一个实例
Open(w_employee)
示例 2 下面代码打开窗口类型为w_to_open的窗口实例
w_employee w_to_open
Open(w_to_open)
OpenSheet()
功能: 在 MDI框架窗口中打开 MDI子窗口 并在指定菜单中创建选择该子窗口的菜单项
语法: OpenSheet(sheetrefvar{,windowtype},mdiframe{,position{,arrangeopen}})
参数: sheetrefvar 指定要作为工作表打开的窗口名
windowtype string 类型 可选项 指定是要打开窗口的类型 也就是窗口画笔中保存的窗口对象名
mdiframe 指定要放置工作表的 MDI框架窗口名
position 可选参数 指定所打开的工作表的名称作为一个菜单项显示在第几个
菜单标题下面 默认时 被放在倒数第二个菜单标题下 原因是 大多数商业软件的最后两个菜单标题是 Window和 Help 把工作表的名称放到Window菜
单标题中用于选择工作表窗口是个合情合理的选择
arrangeopen ArrangeOpen 枚举类型 可选参数 但如果选用了此参数 那么
position 参数也必须同时指定 arrangeopen 参数告诉系统如何显示打开的工作表
返回值 Integer 函数执行成功时返回 1 发生错误时返回-1 如果参数任何的值为
NULL OpenSheet()函数返回NULL
------解决方案--------------------
2,3楼都说完了
------解决方案--------------------
mdi里放了控件之后mdi的width和height都变成了0
你要用opensheet打开的窗口正是在mdi里面
想要看到,就得执行下面的操作:
this.mdi_1.width=newwidth
this.mdi_1.height=newheight
------解决方案--------------------
opensheet仅用于mdi框架,它的sheet,与一般的子窗口的行为是不同的,sheet其实是被mdiclient控件管理的,不是主窗口的直接子窗口
------解决方案--------------------
我写的代码你运行了吗?
mdi_1 怎么是sheet。mdi_1是放sheet的容器。
看看mdi类型的窗体定义:
forward
global type w_mdi from window
end type
type mdi_1 from mdiclient within w_mdi
end type
type cb_1 from commandbutton within w_mdi
end type
end forward
------解决方案--------------------
绝对可以