首 页    工程服务     配套产品       技术培训       工程业绩     下载中心
 

 

                
              


  
QuickControl6.0技术中心

如何开始制作一个简单工程?
  如何使用工程浏览器?
  如何使用Windows控件?
  如何使用报警?
  如何使用历史数据?
  如何使用量程转换?
  如何使用事故追忆?
  如何使用配方?
  如何使用自定义菜单?
  如何生成报表系统?
  如何使用间接变量?
  如何自定义函数?
  如何使用累计点?
  如何实现PID控制?
  如何使用分段线性化(使用分段线性化的过程)?
  如何使用分段线性化(分段线性化例子)?
  如何组态自定义点参数?
  如何组态自定义点类型?

 

   当前位置: 首页>>QuickControl6.0技术中心>>如何使用Windows控件
< 如何使用Windows控件 >
     
 

迅控开发系统不仅仅提供了矩形、圆等简单的对象,而且还提供了一组常见的Windows控件供我们使用。使用这些标准Windows控件可以定制一个比较友好的界面和用户进行交互。下面我们使用一个简单的小例子来说明一下Windows控件的使用步骤。

 

一个简单的小例子:

       本示例如下图所示,当程序运行时,可以在左侧选择不同的厂商名,当长名选中后,品名处的列表框将会列出该厂商的商品,我们选择对应的商品和该商品的类型以及是否入库的状态,然后点击“=>”按钮,那么左侧的选择结果将会在右侧输出。

 

示例制作过程

1、  创建工程

进入迅控工程管理器,点击“新建工程”按钮,创建一个名为“Windows控件”的新工程。点击“进入组态”按钮进入组态环境。

2、  创建窗口

在组态环境的导航器中双击窗口选项,创建一个名为“Draw1”的窗口,我们将在此窗口中完成我们的示例。

3、  创建Windows组件

点击绘图工具条的最后一个按钮的下拉箭头,弹出如下的菜单,可以在此菜单上看到有各种供使用的Windows控件。

在窗口中绘制一个下拉框,并选中该控件,在开发系统导航器下方的属性框的名称栏中输入Name作为此控件的名字,这样我们在编写脚本时就可以通过使用“#Name.方法”的形式来调用该控件的属性和方法了。

按照下图给出的样子、位置和名称创建其它的对象。

4、  为每个控件编制脚本

a、  下拉框(Name)的脚本编制

双击下拉框,弹出下拉框设置对话框,如下图所示,填写下拉框中可供选择的内容,因为在此我们不希望下拉框自动排序,所以在此取消排序复选框的设置。

单击“事件脚本”弹出脚本编辑框,可以看到此编辑框分为两页分别是“初始化”和“选项改变”,它们对应于下拉框刚刚创建和选项改变时触发的脚本。我们在“初始化”动作中输入    #Name.SetSelection(0);  这样,当下拉框刚刚创建时就会缺省选中第一项。我们希望当下拉框的选项对应改变时,品名列表框中的内容会随之刷新,所以我们还需要编制“选项改变”脚本。将脚本编辑对话框切换到“选项改变”页,在其中输入如下的内容:

int nSel = #Name.GetSelection();

switch (nSel)

case 0:

    #SubName.Clear();

    #SubName.AddItem("油泵");

    #SubName.AddItem("阀门");

    #SubName.AddItem("曲轴");

    #SubName.SetSelection(0);

case 1:

    #SubName.Clear();

    #SubName.AddItem("轴承");

    #SubName.AddItem("螺栓");

    #SubName.SetSelection(0);

case 2:

    #SubName.Clear();

    #SubName.AddItem("滑杆");

    #SubName.AddItem("底座");

    #SubName.AddItem("钢圈");

    #SubName.AddItem("密封垫");

    #SubName.SetSelection(0);

endswitch

 

这段脚本,首先通过int nSel = #Name.GetSelection()获得下拉框的当前选择项并把它放入临时变量nSel中。然后它根据nSel的不同,对列表框做不同的操作。对列表框的操作如下:首先使用#SubName.Clear()语句清空列表框的所有选择项,然后使用#SubName.AddItem("选项")方法向列表框中增加新的选项,最后使用#SubName.SetSelection(0)语句,使列表框选中第一项。

 

b、  列表框(SubName)的脚本编制

双击列表框,弹出列表框属性对话框,在其中的初始列表项中输入“油泵”、“阀门”和“曲轴”三个选择项。单击“事件脚本”弹出脚本编辑框,在“初始化”动作里输入#SubName.SetSelection(0)语句,这样在列表框创建时它将缺省选中第一项。

 

       c、多选按钮(Type)的脚本编制

双击多选按钮,弹出多选按钮属性对话框,如下所示:

选择对应的标签然后输入新的标签名,点击修改按钮,更该对应的标签文本,如图所示。这一次我们使用关联变量的方法来获得多选按钮当前选中的项,首先双击导航器的“变量/中间变量”栏,弹出变量定义对话框,输入nType作为点名,并确保类型为整型中间变量,按下“确定”按钮创建该变量。再次双击多选按钮,在弹出的属性设置框中,选择关联变量复选框,并在变量栏中输入nType变量名。确定即可完成多选按钮的脚本编制。

 

d、  选框(Store)的脚本编制

双击复选框,弹出复选框属性设置对话框,输入“已入库”作为标签文字,在初始化脚本中输入#Store.SetCheck(1),这样复选框在刚刚创建时就会处于选中状态。

 

5、  编写按钮处理脚本

双击按钮,在动画关联对话框中选择 ,在“按下鼠标”动作中输入如下的脚本:

String csOut = "厂名  ";

csOut = csOut + #Name.GetItemText(#Name.GetSelection());

csOut = csOut + AscToChar(13) + AscToChar(10);

 

csOut = csOut + "品名  ";

csOut = csOut + #SubName.GetItemText(#SubName.GetSelection());

csOut = csOut + AscToChar(13) + AscToChar(10);

 

csOut = csOut + "类型  ";

if nType == 0 then

    csOut = csOut + "成品";

else

    csOut = csOut + "半成品";

endif

csOut = csOut + AscToChar(13) + AscToChar(10);

 

csOut = csOut + "入库  ";

if #Store.IsChecked() then

    csOut = csOut + "已入库";

else

    csOut = csOut + "尚未入库";

endif

 

#Out.Text = csOut;

 

下面做一些简单的解释:

对于下拉框,通过#Name.GetSelection()可以获取它当前的选择索引,通过#Name.GetItemText(#Name.GetSelection())则可以获得,当前选择项的文本。

脚本中的csOut = csOut + AscToChar(13) + AscToChar(10)语句是为了增加新的一行,其中的AscToChar(13) + AscToChar(10)表示的是回车换行。

因为我们已经把变量nType和多选按钮进行了关联,所以我们可以通过判断nType的值来知道多选按钮被用户选中的是那一项,脚本中使用了Ifthenelse语句来判断产品是否成品。

最后一句,#Out.Text = csOut语句,用于把生成的文本在输出文本框中显示出来。

 

6、  运行系统,观察结果

点击运行系统按钮,运行整个系统。在View中打开“Draw1”窗口,进行选择,然后点击“=>”按钮,查看输出结果。

 

版权所有:广州粤控自动化工程有限公司 电话:020-88561235,85274572 传真: 020-31309858 E-mail:superdcs@126.com
联系我们设为首页