用户中心
· 企业空间 首页 | 资讯 | 技术 | 产品 | 企业 | 直播 | 专题 | 智能制造 | 论坛| 在线研讨会
紫金桥软件技术有限公司
企业空间 > 案例应用 > 正文
  • 紫金桥组态软件窗口的使用
  • 发布时间:2013/9/13 8:27:04   修改时间:2013/9/13 8:27:04 浏览次数:1292
  •    窗口是紫金桥组态软件的人机画面中非常重要的组成部分,是工程数据在计算机上与人互动的主要的手段之一。

       在一个工程中,每个画面的名字是唯一的,并作为标识被脚本调用。画面以文件的形式存放在工程中doc文件夹下,每个画面对应一个与其同名并以“drw”为扩展名的文件,如窗口“DRAW1”对应为“DRAW1.drw”文件。该文件存储了该窗口的大部分内容,一般来讲,该窗口文件拷贝到其他工程下的doc文件夹下就可以直接进入组态使用。只有当画面引用了图片或图形模板时,则需要将相应的文件同时拷贝。

    窗口按类型可分为:覆盖窗口、弹出式窗口和顶层窗口。

       窗口按运行时的打开方式可分为:普通打开、被动隐藏打开、子窗口、模态窗口、多实例窗口。本文主要讲述这几种打开方式的使用。

    1.普通打开

    普通模式打开就是使用窗口函数Open()或者在view.exe中手动打开窗口,这时需要注意的是,如果窗口具有“打开其他窗口时自动关闭”属性,那么同类型的其他窗口会被关闭,只留下当前窗口。

    2.被动隐藏打开

    当窗口中元素(如:窗口函数、窗口变量、窗口对象等)被窗口外环境(如:全局脚本、其他窗口内脚本等)引用时,该窗口会被动打开,并且隐藏。这是因为窗口元素的存在是以窗口打开为前提的,窗口本身是窗口中所有元素的载体,因此窗口外环境引用本窗口元素时,系统必须打开本窗口才能使其生效。这种方式打开的窗口除以隐藏方式打开外,其他特性与普通方式打开一样。

    需要注意的是,即使是被动隐藏打开,该窗口的窗口进入脚本、周期脚本、退出脚本以及窗口内其他对象的脚本或者动画链接等所有动作仍会生效。

    3.子窗口

    子窗口打开是指以窗口函数OpenChild()方式打开窗口。例如:

    #DRAW1. OpenChild(“DRAW2”);

    这句脚本的作用是将窗口DRAW2以窗口DRAW1的子窗口方式打开,也就是说,窗口DRAW1是窗口DRAW2的父窗口。那么这两个窗口间有着怎样的关系呢?

    它们间的关系取决于子窗口的类型。如果窗口DRAW2为覆盖式窗口,那么窗口DRAW2的存在依赖于其父窗口DRAW1,简单地说就是如果窗口DRAW1被关闭了,那么窗口DRAW2会自动关闭。而且,窗口DRAW2只能显示在窗口DRAW1的范围内,超出该范围的部分不显示,看上去就像窗口DRAW1中的一个组件一样。再者,如果父窗口被移动,则子窗口随之移动。如果将窗口DRAW2的标题栏和系统菜单去掉,那么窗口DRAW2则被完全嵌入其父窗口中,不能使用鼠标移动。

    下表列出了不同类型子窗口与父窗口间的关系。

     

    4.模态窗口

    模态窗口就是以窗口函数DoModal()的方式打开的窗口。不同类型的窗口都能以模态窗口的方式打开。并且,模态窗口打开以后,整个view.exe程序的焦点落在该窗口上,只有当该窗口被关闭后焦点才能释放。执行窗口函数EndModal()后,等同于关闭该窗口,该窗口内所有数据均被销毁。该种窗口的使用在紫金桥联机帮助中有详细讲解,不再赘述。

    5.多实例窗口

    多实例窗口是以窗口函数New()的方式打开的窗口。函数New()的作用是以多实例的方式新建一个窗口,并且可以同时创建多个窗口实例。例如:

    int nWinID1 = #DRAW1.New(1);

    int nWinID2 = #DRAW1.New(1);

    这两句脚本的功能是,以窗口DRAW1为模具分别创建两个实例窗口并且打开,新创建的窗口实例句柄分别返回给整型变量nWinID1和nWinID2。这两个窗口可以看做是窗口DRAW1的两个副本,相当于复制了窗口DRAW1的所有内容,并且各自独立运行,互不干扰。这样做的目的是为了在运行时满足同一种算法实现存储不同中间结果的需要。当多个实例存在时,可以通过窗口函数Use(int nWinID)在同一个窗口的不同实例间切换,使用该函数后,会将指定实例句柄的实例窗口设置为当前实例窗口。

    注意:在运行时,同一时刻只有一个当前实例窗口。在不使用函数Use()时,最后一个生成的实例窗口为当前实例窗口,因鼠标点击等原因而获取焦点的实例窗口也会成为当前实例窗口。

    在多实例窗口存在的情况下,脚本中所有针对该窗口名字的操作或者引用均生效于当前实例窗口,与非当前实例窗口无关。

       另外,可以使用窗口函数NewChild()以子窗口的方式新建多实例窗口。这样打开的窗口除具有多实例窗口的特征外还具有子窗口的特征。

  • 企业介绍
紫金桥软件技术有限公司(RealSoft)是由中石油出资成立的专门从事计算机软件产品开发的高新技术企业,是中国石油天然气集团的软件开发基地。公司专注于自主知识产权软件产品“实时数据库系统”和“监控组态软件”的开发与推广工作,以为企业集团及客户…  更多>>
  • 联系方式

紫金桥软件技术有限公司

联系人:李磊

地址:黑龙江省大庆市高新区服务外包产业园C1-817室

邮编:163316

电话:400-6996-515

传真:0459-8151391-808

公司网址:http://www.realsoft.cc

  • 该空间手机版

扫描此二维码即可访问该空间手机版

  • 在线反馈
1.我有以下需求:



2.详细的需求:
姓名:
单位:
电话:
邮件:
您还没有登录,请登陆,
如果您还没有注册,点击这里注册.
  • 网友反馈
  • 戴永铁 在2024/6/11 14:51:00留言
  • 留言类型:贵公司产品销售人员联系我,贵公司技术支持人员联系我,
  • 详细留言:需要制药工业领域的实时库报表,包含矩阵配?、参数配方、数据(统计和历史)、曲线、事件、报警、审计追踪,这些内容可以组态化
  • 晓同 在2024/5/16 11:06:00留言
  • 留言类型:我让贵公司产品销售人员联系我,
  • 详细留言:紫金桥组态软件V6.5,512点授权
  • 在2023/10/21 16:03:00留言
  • 留言类型:贵公司技术支持人员联系我,
  • 详细留言:OPC
  • 郑鑫汶 在2023/6/1 14:58:00留言
  • 留言类型:我想得到贵公司产品详细资料,我想得到贵公司产品的价格信息,我让贵公司产品销售人员联系我,我让贵公司技术支持人员联系我,
  • 详细留言:需要咨询贵公司软件的价格功能
  • 吴吉校 在2023/3/15 7:45:00留言
  • 留言类型:我想得到贵公司产品详细资料,我想得到贵公司产品的价格信息,我让贵公司产品销售人员联系我,我让贵公司技术支持人员联系我,
  • 详细留言:组态软件咨询
更多请进入空间管理中心查看
关于我们 | 网站地图 | 联系我们
© 2003-2018    经营许可编号:京ICP证120335号
公安机关备案号:110102002318  服务热线:010-82053688
我要反馈