文档介绍:界面编程技巧 5 - 使用绘图控件
有时候需要画一个比较复杂图形或曲线,而 LabVIEW 没有提供相应的控件。可以借用 LabVIEW 已有的基本功能的控件,配上一些代码,实现一个具有特定功能的控件。
常被用来做这种基本控件有 XY Graph、3D Picture Control、Picture 控件等。
例如需要做一个绘制极坐标函数曲线的控件,就可以在 XY Graph 的基础上改造。一共一个转换用的VI,把点的极坐标转换成直角坐标系下的值,在 XY Graph 上绘制出来就可以了。需要某个支持某种特定三维绘图方式的控件,可以通过改造 3D Picture Control 得到。
Picture 控件是个更为基础的控件,很多具有特殊效果的界面元素都可以利用 Picture 控件制作。比如,需要制作带图标的菜单,或类似LabVIEW函数选板的菜单等。LabVIEW没有为它们提供现成的控件,就可以在Picture控件上自己把这些效果都画出来。我们前面介绍的棋盘棋子界面也可以使用Picture控件来制作。
下面介绍一下实现这个界面的具体过程。
第一步,创建一个空白的Picture控件,针对Picture控件的常用操作都在Picture Functions 函数选板中。
与前面介绍的方法不同,使用Picture控件制作棋盘棋子的过程,不是在VI编辑状态下进行的,而是需要在程序运行时绘制。所以下面的界面设计工作都要通过编程来完成了。先介绍一下Picture控件的Erase First属性,它有3个值:0表示从不擦除,也就是说每次传一个数据给这个控件,比如一个圆环图案,Picture上显示的并非只有这个圆环,而是把圆环叠加在原本的内容之上。如果我想画一个有三个矩形组成的图案,可以分三次画,每一次传递一个矩形图案给Picture控件;2表示每次都擦除,每次传递一个图案给Picture控件,它都会将原来的图案擦掉,仅保留这一次的图形。擦除图案后Picture控件会显示默认的白色。所以,使用这种方式,用户在切换图案时会看到Picture闪烁一下。若非必要,尽量不要使用这种方式;1表示程序第一次运行时把Picture上的内容清除,等于自动帮你做了初始化工作,我们这里也使用这种方式。
就是说,棋盘布局发生变化时,进更新发生了变动的位置。不要重绘整幅图。
棋盘再棋