导航
  • 主页
  • API 调用
  • 基础类
  • 控件与界面
  • 数据库相关
  • DataWindow
  • 项目管理
  • Web 应用
  • 脚本语言

关于window type和opensheet的问题,求解!!

路人甲cw 2010-09-27 08:42:51
有这样四个窗口:
w_main window type:mdi! MenusName:w_menus
w_win1 window type:child!
w_win2 window type:child!
w_win3 window type:child!

w_menus下的菜单:
打开窗口1 Clicked Event:opensheet(w_win2,parentwindow)
打开窗口2 Clicked Event:opensheet(w_win2,parentwindow)
打开窗口3 Clicked Event:opensheet(w_win3,parentwindow)

运行的时候单击菜单下的 打开窗口1,打开窗口2,打开窗口3 都没反应?而菜单下出现了 1,2,3 其中有一个位置和上面的一样的被选中?

还有,有朋友能告诉我 window type 的详细解释吗?
...全文
108 点赞 收藏 4
写回复
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
路人甲cw 2010-09-27
谢谢1楼还有2楼,问题解决了!!
回复
duzhy 2010-09-27
1楼正解,我当时也遇见这样的问题,搞了半天才明白是这个原因。
回复
pcwe2002 2010-09-27
按照对消息响应的方式,窗口分为模式窗口和非模式窗口两大类。在模式窗口中的
操作没有完成之前,不能进入别的窗口进行其他操作。一般用于用户确认重要信
息,在继续其他操作之前必须做出反馈,如错误提示窗口。非模式窗口则不同,允
许同时打开多个,随时切换到任意一个中工作。最常见的非模式窗口例子是Excel
中的sheet。

要创建窗口,必须指明窗口的显示样式,如边框、是否显示控制按钮、是否能够浮
动等。PB提供六种预定义样式。它们是:
lMain
lChild
lResponse
lPopup
lMDI
lMDIHelp

主窗口独立于其他窗口,可以调用其他窗口,被其他窗口覆盖,也可以覆盖其他窗
口。它包括控制菜单、控制按钮、显示区域。主窗口都有边框和标题栏,一般都允
许用户调节其大小。但是在主窗口中,工具条是不能显示的。在应用程序中,一般
首先打开的是Main类型的窗口,然后用主窗口调用其他的窗口,来共同完成特定的
任务。应用对象程序关闭时,这种类型的窗口不会自动关闭,除非用户亲自关闭。
所以,如果在一个应用中除了主操作窗口外的其他地方使用了Main类型的窗口,一
定在应用关闭之前关闭它们,否则会造成程序虽然结束,但还零星有几个窗口在运
行的有趣局面。

子窗口由其他窗口来调用,在应用中不能直接打开。它可以被其他窗口覆盖,但不
能覆盖其他的窗口。它通常没有最大、最小控制按钮,但开发人员也可以设置让它
拥有这些。子窗口不能拥有菜单,开发应用程序时一定要注意这点。可以调节子窗
口的大小,显示子窗口的边框。子窗口的大小、显示位置都是相对于它的父窗口而
言的。所谓父窗口,就是调用了子窗口的窗口。当父窗口最小化时,子窗口也相应
被最小化,子窗口的浮动范围只限于父窗口,也就是说,拖动子窗口是不会将其拖
出父窗口的。

Response窗口是模式窗口,在继续执行程序之前必须对其做出响应,否则程序无法
继续运行。一般用于处理特别重要的信息,如:让用户确认选择、提示当前的错误
信息、输入下步必需数据等。这种类型的窗口没有边框和最大最小按钮,不能改变
大小,但能够拖动它改变位置,它的位置是相对整个屏幕而言的。PB提供了预定义
的Response窗口,如messagebox。提示重要信息时,经常使用这种类型的窗口,要
避免业务处理类型的窗口使用这种类型。因为某些控件上可能会自动以信息窗口的
形式显示一些提示信息,当这样的控件是在Response类型的窗口上时,应用程序容
易导致用户计算机死机。

Popup窗口一般用来提供一些辅助信息。它和父窗口关系紧密,但可以浮动到父窗
口的外部。当父窗口最大或最小化时,它也相应的被最大或最小化,父窗口关闭
时,它也相应的自动关闭。也可以用鼠标调节其大小。Popup类型的窗口可以拥有
主窗口的所有组件。这四种类型的窗口特点如下表所示。

窗口类型 特点简短描述
Main可以覆盖其他窗口,也可以被其他窗口覆盖。可以最大、最小化,可以用鼠标
改变其大小。可以有边框,可以有菜单。常用于应用主操作窗口
Child可以被其他窗口覆盖,也可以覆盖其他窗口。可以最大、最小化,也可以用鼠标改变其大小,
父窗口最小或最大化时,Child类型的窗口也相应的被最大或最小化。可以有边框,但不能有菜单。位置是相对于其父窗口而言,用鼠标拖动其位置不能超过其父窗口的范围。常被其他窗口打开。
Response不能最大、最小化,没有边框,不能用鼠标改变其大小。在继续执行程序
之前,必须对这种类型的窗口做出响应。常用于显示非常重要的信息。
Popup可以最大或最小化,在对这种类型的窗口响应之前,可以操作其他窗口。不
随父窗口最大和最小化。可以拥有菜单、边框。常用于显示其他窗口的辅助信息。
另外,MDI框架和带有Micro Help的MDI框架在应用软件的开发过程中经常使用,并
且除了一般窗口的特性外还拥有自己的特点。


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/sxychenjing/archive/2008/03/31/2234107.aspx
回复
leio 2010-09-27
mdi主窗口上不能放控件,放了控件后,opensheet打开的窗口就看不到。

如果一定要放控件,得调整mdi主窗口mdi_1的x,y,坐标,并把控件放到mdi_1区域的外边。
回复
发动态
发帖子
PowerBuilder
创建于2007-09-28

812

社区成员

PowerBuilder 相关问题讨论
申请成为版主
社区公告
暂无公告