首页>>科技 >>内容

使用LABwindows/CVI软件搭建学生管理界面(三)

发布时间:2023-07-15 22:20:06编辑:温柔的背包来源:

使用LABwindows/CVI软件搭建学生管理界面(三)

很多朋友对使用LABwindows/CVI软件搭建学生管理界面(三)不是很了解,每日小编刚好整理了这方面的知识,今天就来带大家一探究竟。

上一期我对LABwindows/CVI建立的学生管理器的UI界面中的控件进行了编程,但没有做回调处理。本期主要设计控件的回调函数!

关键词:回调函数;

01 回调函数1.1、主函数主函数是用户程序运行时第一个执行的函数。主函数实现的功能有CVI运行引擎初始化(InitCVIRTE函数)、加载面板(LoadPanel函数)、显示面板(DisplayPanel函数)、启动消息队列循环(RunUserInterface函数)。其中,RunUserInterface会不断检查面板的消息或者操作系统发送的消息,并且永远不会返回,除非用户主动调用QuitUserInterface函数停止消息循环。因此,正常运行情况下,main函数中的DiscardPanel永远不会被执行,并且main函数永远不会退出,直到程序关闭。主要功能如下。

int main (int argc, char *argv[]){if(InitCVIRTE (0, argv, 0)==0) return -1; if((panelHandle=LoadPanel (0, 'show.uir', PANEL)) 0) return -1;显示面板(面板句柄);运行用户界面();丢弃面板(面板句柄);返回0;}1。2、回调函数- MainCallBack 是我们在面板属性编辑框中填写的Callback Function 的名称,它负责执行主程序面板消息的响应代码。在switch语句中,我们可以看到CVI已经提前为我们生成了三个面板最常用的事件:EVENT_GOT_FOCUS、EVENT_LOST_FOCUS和EVENT_CLOSE。分别添加对应case中的代码,当窗口激活、窗口停用、点击窗口右上角的“关闭”按钮时都可以执行这些代码。 callbackData 表示发送消息时附加到消息的数据。但eventData1和eventData2很容易让初学者混淆。其实我们只需要选中any case语句中的事件(这里可以选择EVENT_GOT_FOCUS),右键选择Go To Definition就可以发现CVI User Interface的所有事件定义都在这里了。 eventData1和eventData2的描述也在定义的注释中进行了解释。

这里,为了让用户点击程序右上角关闭按钮时程序顺利关闭,在case EVENT_CLOSE语句后面添加QuitUserInterface函数:

int CVICALLBACK MainCallBack (int panel, Intent, void *callbackData, int eventData1, int eventData2){ switch(event) { case EVENT_GOT_FOCUS:break; }案例EVENT_LOST_FOCUS:break;案例EVENT_CLOSE: QuitUserInterface(0 );break; }返回0;}1。010- 63024 回调函数2 该函数响应五个按键的功能,代码如下。

int CVICALLBACK MainPanelBtnCallback (int panel, int control, int event, void *callbackData, int eventData1, int eventData2){ switch(event) { case EVENT_COMMIT: switch(control) { char Name[20]={0};int Number=0 case PANEL_BTN_Add: //添加Creat();break; case PANEL_BTN_Delete: //删除delete(Head);休息; BTN_Change: //更改更改(头);休息; } 休息; } return 0;}02 运行模式点击菜单Run-Debug Project(或者点击工具栏中的绿色三角按钮)直接编译运行当前工程,也可以在所在目录生成exe文件项目位于。

右键单击项目名称,选择Build(或点击菜单Build-Create Debuggable Executable)编译生成exe文件。

在CVI代码编辑窗口中,单击代码前的空白部分或按F9键,可以在相应的C语言语句处设置断点。

当程序中断时,点击菜单Window可控制Memory(内存)、Variables(变量)、Watch(监视)窗口的打开或关闭,通过查看或修改相应参数,方便调试程序价值观。

以上知识分享希望能够帮助到大家!