- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《 PowerBuilder实用教程》 叶核亚 王青云 第07章 菜单与多文档界面设计 7.1 菜单概述 7.2 菜单画板 7.3 菜单设计 7.4 多文档界面设计 7.1 菜单概述 1. 菜单对象 2. 菜单对象的两种使用方式 (1) 主菜单 (2) 弹出式菜单 3. 菜单设计原则 1. 菜单对象 2. 菜单对象的两种使用方式 (1) 主菜单 主菜单是相对于窗口而言的,它出现在窗口的标题栏下,与窗口同时出现。窗口的MenuName属性指定该窗口上显示的菜单对象。调用窗口的ChangeMenu()函数在执行期间可以改变与窗口关联的菜单对象。 主菜单的结构一般较复杂。每个菜单对象由若干个菜单项(menu item)组成,每个菜单项还可以有子菜单项(submenu item),这样形成菜单的多层次结构。 2. 菜单对象的两种使用方式 (2) 弹出式菜单 弹出式菜单(pop-up menu)是相对于控件而言的,当鼠标指向某控件时,单击鼠标右键,弹出一个菜单,称为弹出式菜单。弹出式菜单的结构相对简单,一般最多只有二层菜单项。 可以为窗口及控件设计弹出式菜单。但窗口及控件上没有属性与弹出式菜单关联,需要在RButtonDown事件(单击右键)中写脚本以激活弹出式菜单。 3. 菜单设计原则 菜单是与窗口分离的独立对象,通常将对窗口的操作、对窗口中数据窗口控件的操作设计成通用的菜单,使得窗口界面清楚、整洁。而且即使数据窗口控件所连接的数据窗口对象改变了,菜单项仍然可以起作用,提高了软件的可重用性。因此,我们通常采用菜单方式实现对窗口中数据的操作。 菜单设计应该结构合理,层次清晰,分工明确。每个菜单项实现特定功能,相互关联的菜单项组合在一个下拉菜单中,菜单的层次不宜太多,一般只级联一级。 7.2 菜单画板 菜单画板(Menu Painter)提供了插入菜单项、设置属性、编写脚本、预览菜单等多种功能。 7.2.1 菜单画板的组成 7.2.2 菜单画板的基本操作 7.2.1 菜单画板的组成 7.2.2 菜单画板的基本操作 1. 创建菜单对象 2. 添加菜单项 3. 命名菜单项 4. 保存菜单对象 5. 分隔菜单 1. 创建菜单对象 单击工具栏上的【New】按钮,在New对话框的PB Object页上,选择Menu菜单对象,则系统创建了一个菜单对象并打开菜单画板。 2. 添加菜单项 在新建菜单对象的菜单树中只有一个菜单项Untitled0,这是一棵菜单树的根,必须为该菜单添加菜单项。操作方法是,在菜单项上单击鼠标右键,执行弹出式菜单Insert SubMenu Item,在编辑框中键入菜单显示文本,之后,在所见即所得视图中即可见到新加入的菜单项。 3. 命名菜单项 菜单项的Name属性指定该菜单项的名称,Text属性指定菜单项的显示文本。当在添加菜单项时键入的文本自动成为菜单项的Text属性,并且Name属性中显示的默认菜单名是菜单项的命名前缀“m_”加Text属性值。 4. 保存菜单对象 单击工具条上的【Save】按钮,保存当前菜单对象。第1次保存时,需要在Save Menu对话框上为菜单对象命名,菜单对象的命名前缀是m_。 5. 分隔菜单 如果设置菜单项的Text属性为“-”(减号),则该菜单项显示为一条分隔线。 7.3 菜单设计 7.3.1 菜单项的属性和事件 菜单项的属性如下表所示: 7.3.1 菜单项的属性和事件 菜单项的事件如下表所示: 7.3.2 引用对象 1. 在菜单中引用窗口和控件 2. 在窗口中引用菜单对象 1. 在菜单中引用窗口和控件 在菜单中引用窗口的属性时,使用窗口的名字限定属性。语法格式为: 窗口.属性 例如, w_input.WindowState = maximized! 在菜单中需要引用窗口中的控件时,使用窗口的名字限定该控件。语法格式为: 窗口.控件.属性 例如, w_input.dw_1.Enabled = true 2. 在窗口中引用菜单对象 在窗口脚本中引用菜单对象的语法格式为: 菜单对象.菜单项.属性 菜单对象.菜单项.子菜单项.属性 例如,菜单项及工具栏上的按钮状态应该随窗口的激活状态而变化,当窗口获得焦点时可操作,当窗口失去焦点时不可操作。因此,需要在窗口的activate事件上写以下使菜单项可操作的脚本: m_input.m_save.Enabled = false 7.3.3 使用弹出式菜单 1. 将窗口上的主菜单作为弹出式菜单使用 可以将已与窗口关联的菜单对象或其中的某个下拉菜单作为弹出式菜单显示。例如,在数据窗口控件dw_1的RButtonDown事件的脚本中,
文档评论(0)