labwindows/cvi 2019入门(1)——Hello world!

不在这个行业混,但还是喜欢这个专业,闲暇还是喜欢写代码,虽然是菜鸟!

大学学了很多年C语言,发现想用C语言写个项目太难了,2018年看到Labwindows/cvi这个软件,发现通过它,用C语言可以很方便的做出上位机软件。和当前主流的面向对象的编程语言比,可能有诸多不适应,但是专业针对工业应用软件开发设计,相应的控件齐全,模块丰富,还是很不错的。

image

通过“Project from Template”创建一个CVIHelloWorld的项目后,界面如下:

image

右键拖放两个Command button和一个string 控件,定义各自的回调函数名。

image

点击菜单:code——generate——All code... 生成代码。

在回调函数 int CVICALLBACK btnHello中的 case EVENT_COMMIT后面插入语句:

SetCtrlVal (panelHandle, PANEL_STRING, "Hello CVI 2019");

使用软件用户接口库插入画面如下:

image

再增加一句弹窗提示:MessagePopup("CVI 2019", "Hello World!");

image

编译运行,看到如下效果。

image

完整代码如下:

#include 
#include 
#include "CVIHelloWord.h"
static int panelHandle;

int main (int argc, char *argv[])
{
  if (InitCVIRTE (0, argv, 0) == 0)
    return -1; /* out of memory */
  if ((panelHandle = LoadPanel (0, "CVIHelloWord.uir", PANEL)) < 0)
    return -1;
  DisplayPanel (panelHandle);
  RunUserInterface ();
  DiscardPanel (panelHandle);
  return 0;
}

int CVICALLBACK panelCB (int panel, int event, void *callbackData,int eventData1, int eventData2)
{
  switch (event)
  {
    case EVENT_GOT_FOCUS:
      break;
    case EVENT_LOST_FOCUS:
      break;
    case EVENT_CLOSE:
      break;
  }
  return 0;
}

int CVICALLBACK strHello (int panel, int control, int event,void *callbackData, int eventData1, int eventData2)
{
  switch (event)
  {
    case EVENT_COMMIT:
      break;
  }
  return 0;
}

int CVICALLBACK btnHello (int panel, int control, int event,  void *callbackData, int eventData1, int eventData2)
{
  switch (event)
  {
    case EVENT_COMMIT:
      //把string控件内容设置为“Hello CVI 2019”
      SetCtrlVal (panelHandle, PANEL_STRING, "Hello CVI 2019");
      //弹出提示框
      MessagePopup("CVI 2019", "Hello World!");
      break;
  }
  return 0;
}

int CVICALLBACK btnExit (int panel, int control, int event,void *callbackData, int eventData1, int eventData2)
{
  switch (event)
  {
    case EVENT_COMMIT:
      //退出程序
      QuitUserInterface (0);
      break;
  }
  return 0;
}

欢迎交流QQ:491114509

你可能感兴趣的:(labwindows/cvi 2019入门(1)——Hello world!)