打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
LabVIEW中自定义控件(.ctl控件)的方法

背景

相对于其它如C/C++等高级编程语言,LabVIEW编程语言平台本身已经提供了很多控件,如数值型控件、布尔型控件、字符型控件及波形显示等控件,而且每种控件在外观上几乎都有多种风格显示,如经典、新式、系统及银色等风格可供选择,在对软件界面要求不高的情况下可以满足软件开发者的需求。但是在某些情况下,仍然需要在LabVIEW平台中开发出“新”的控件,即自定义控件。LabVIEW软件提供了自定义控件的功能,使软件开发者能够编写出符合行业标准、外观精美的软件界面。

LabVIEW中提供了两种方式的自定义控件方法,对应了如下两种自定义控件类型:

l普通方式的自定义控件:其特点是在LabVIEW开发环境中提供的已有控件的基础上,基于控件原有的属性和方法,仅通过改变控件的外观使其成为个性化的控件,该类型的自定义控件保存的文件名后缀为“.ctl”;

l高级方式的自定义控件:其特点是自定义的控件不仅具有个性化的复杂外观,同时也提供了特殊的属性和方法来控制控件的行为,即XControl控件。

下面通过一个例子演示以普通方式自定义.ctl”控件的步骤方法。

自定义.ctl”控件的方法

这个例子如下图所示,左边部分为LabVIEW内置的一种布尔型按钮控件的真、假两种情况的外观显示,右边部分为自定义后的控件的外观显示情况,下面说明编辑该自定义控件的详细操作步骤。 

 


1. LabVIEW开发环境中依次选择菜单:“文件”®“新建...”,在打开的新建对话框中选择“自定义控件”项即可新建一个空白的.ctl文件并打开了控件编辑器,如下图所示:  

   

2. 在控件编辑器中点击右键弹出控件选板,选择“经典”®“布尔”®“方形按钮”,将方形按钮控件放置到自定义控件的编辑界面上,该控件只有2个部件,分别为“名称标签”和“布尔按钮”,可通过菜单中“窗口”®“部件窗口”查看当前控件的所有部件;

3. 点击控件编辑器工具栏上的工作模式按钮,切换当前工作模式为“自定义模式”,在控件类型的下拉列表框中选择控件类型为“严格自定义类型”;

4. 选中“布尔按钮”部件,右键单击弹出如图下图所示的菜单,在“图片项”中存在着4幅图片,分别对应控件的4种状态,从左到右依次为假、真、真到假和假到真的状态。由此可见,我们只要替换这4幅图片就可以改变控件在不同状态下的外观。一般情况下替换的图片格式通常选择为“.png”格式,在不同的图片类型中,它对背景透明特性有着较好的支持性。对于该例,在右键菜单中依次选择4幅图片,通过右键菜单的“从文件导入...”选项,用准备好的素材替换掉每幅图片,就可完成自定义控件的外观编辑了,然后保存为“.ctl”格式的文件即可。  

   

替换后的4幅图片项如下图所示。保存后的控件文件可以用于任意VI的前面板中,由于该例控件类型是“严格自定义类型”,因此当对该文件进行修改时,它所有的实例都会作对应的修改。因此,当一个项目工程中有多处地方使用了该自定义控件并需要修改时,这种“严格自定义类型”的控件将会大大节约软件界面开发的时间。 

  

备注

自定义控件类型的解释:自定义控件有三种类型,分别为“控件类型”、“自定义类型”和“严格自定义类型”,可在控件编辑器的工具栏“控件类型”下拉列表框中进行选择。在VI前面板中使用自定义控件(.ctl文件)后,LabVIEW会为它创建一个独立副本的实例。不同的类型约定了自定义控件实例与保存它们的文件之间的关系。这三种自定义控件类型的其区别是,对于“控件类型”,其控件和实例之间无任何关联,当改变保存自定义控件的文件时不会影响VI中自定义控件实例;对于“自定义类型”,其控件和实例之间仅仅数据类型是关联的;而对于“严格自定义类型”,其控件和实例之间不仅数据类型是关联的,其它一些控件属性如颜色等也是关联的,当改变控件文件时,它对应的所有实例都将会作出相应的改变。在一个复杂的大型项目开发中,通常将自定义控件类型定义为“严格自定义类型”,其优点是当对该自定义控件作修改时,只需在.ctl文件作改动,而其对应工程的所有实例都将会自动改变。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
控件,自定义,严格自定义,,有什么区别呢? 能具体讲一下么?
QT创建自定义窗口部件
visual studio2015中怎么自定义创建vb控件?
5 分钟带你入门 kivy
InfoPath的自定义表单设计教程
WinForm创建自定义控件
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服