您好,欢迎来到保捱科技网。
搜索
您的当前位置:首页labview控件的vc界面编程

labview控件的vc界面编程

来源:保捱科技网
Labview控件的MFC界面编程

Labview控件注册后可在MFC中被使用,通过调用控件类的成员函数(接口函数)可实现对相应控件的操作。而且其属性项有更多的设置项,通过改变设置选择可以方便地改变控件相应的属性,这样可以减少编程工作,这就类似于matlab的gui界面编程的控件使用。另外,Labview控件更加美观圆滑,是MFC界面编程的较佳选择。下面将介绍常用控件的相应操作的代码编写。

一.编辑框

(1) 读当前编辑框的值: 关联CCWNumEdit类型变量m_Num; 程序代码:

COleVariant num;// COleVariant 类型变量

num = m_Num.GetValue();//返回Variant 类型变量

num.ChangeType(VT_R4, NULL); //将num的类型改为float(VT_R4)型 float num_Get;

num_Get = num.fltVal;//取出Variant 类型变量的值(float型),即取得当前的编辑框值

(2)当为只读编辑框时,将其属性改为Indicator即可,然后设置其当前显示的值: 关联CCWNumEdit类型变量m_Num; 程序代码:

m_Num.SetValue(COleVariant(***));//***表示float或double型数据

(3)实例:完成两个数据的相加并显示在只读编辑框上:

按钮相应函数的代码编写:

COleVariant num1, num2; float num3;

num1 = m_Num1.GetValue(); num2 = m_Num2.GetValue(); num1.ChangeType(VT_R4, NULL); num2.ChangeType(VT_R4, NULL);

num3 = num1.fltVal + num2.fltVal; m_Num3.SetValue(COleVariant(num3)); 二.Button

(1) 拨式按钮

设置其位置(上或下,左或右): 关联CCWButton变量m_Button;

m_Button.SetValue(0);//拨到上面位置(左) m_Button.SetValue(1);//拨到下面位置(右)

(2) 指示灯按钮

设置其状态(亮或暗):

关联CCWButton变量m_Button; m_Button.SetValue(0);//设置为暗 m_Button.SetValue(1);//设置为亮

三.Slider

通过属性页设置slider的Max,Min和Inc/Dec值等; 关联CCWSlider变量m_Slider; 设置其显示的值:

m_Slider.SetValue(COleVariant(10.0));//设置初始值为10 例子:只读编辑框显示slider的当前值

编写slider控件的响应函数:

OnPointerValueChangedCwslide1(long Pointer, VARIANT FAR* Value)

{

m_Num.SetValue(* Value); }

四.Knob(旋钮)

通过属性页设置Knob的Max,Min等; 关联CCWKnob变量m_Knob; 设置其显示的值:

m_Knob.SetValue(COleVariant(10.0)); 例子:只读编辑框显示knob的当前值

编写knob控件的响应函数:

OnPointerValueChangedCwknob1(long Pointer, VARIANT FAR* Value) {

m_Num.SetValue(* Value); }

五.Graph

(1) 清屏

添加CCWGraph变量m_Graph;

m_Graph.ClearData();

(2) 画单线

每个循环进行画单个点的操作:

m_Graph.SetYDataAppend(COleVariant(***));//***为该次的描点数值

(3) 画多条曲线

(如画两条曲线,则需要创建一个2*1的数组) 添加成员变量或全局变量:

COleSafeArray disArray;//COleVariant数组结构 long index[2];

在初始化函数中进行初始化:

DWORD numElement[] = {2,1};//保存数组的行数和列数

disArray.Create(VT_R4, 2, numElement);//创建2*1的float型二维数组 index[1] = 0;//记录索引值

然后在循环体中操作:

float val;

for (index[0]=0; index[0]<2; index[0]++) {

val = ***;

disArray.PutElement(index, &val);//放置元素:0 – 数组第一个元素,1 --数组第//二个元素 } m_Graph.SetYDataAppend(disArray);

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- baoaiwan.cn 版权所有 赣ICP备2024042794号-3

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务