www.pudn.com > LabWindowsCVI.rar > sample1.c


#include  
#include 		 
#include  
#include "sample1.h" 
 
static int panelHandle;		   
 
int main (int argc, char *argv[]) 
{ 
    //初始化CVI运行引擎 
    if (InitCVIRTE (0, argv, 0) == 0)	 
		return -1;	 
 
    //加载面板 
    if ((panelHandle = LoadPanel (0, "sample1.uir", PANEL)) < 0) 
		return -1; 
	 
    //显示面板 
    DisplayPanel (panelHandle); 
	 
    //进入用户界面消息循环 
    RunUserInterface (); 
	 
	return 0; 
} 
 
int CVICALLBACK PanelCallback (int panel, int event, void *callbackData, 
		int eventData1, int eventData2) 
{ 
	switch (event) 
		{ 
		case EVENT_CLOSE: 
		 
			//退出消息循环 
			QuitUserInterface (0); 
			 
			break; 
		} 
	return 0; 
} 
 
int CVICALLBACK QuitCallback (int panel, int control, int event, 
		void *callbackData, int eventData1, int eventData2) 
{    
 
	switch (event) 
		{ 
		case EVENT_COMMIT: 
		 
            //添加的代码,退出消息循环 
            QuitUserInterface (0); 
			 
			break; 
		} 
	return 0; 
} 
 
int CVICALLBACK PlotCallBack (int panel, int control, int event, 
		void *callbackData, int eventData1, int eventData2) 
{ 
     
    //定义局部变量 
    double data[1024];   
     
    switch (event) 
		{ 
		case EVENT_COMMIT: 
		 
          //生成正弦数组 
          SinePattern (1024, 1.0, 0.0, 1.0, data); 
           
          //显示正弦波形		 
		  PlotWaveform (panelHandle, PANEL_GRAPH, data, 1024, VAL_DOUBLE, 1.0, 
						0.0, 0.0, 1.0, VAL_THIN_LINE, VAL_EMPTY_SQUARE, 
						VAL_SOLID, 1, VAL_RED); 
						 
			break; 
		} 
	return 0; 
} 
 
int CVICALLBACK ClearCallback (int panel, int control, int event, 
		void *callbackData, int eventData1, int eventData2) 
{ 
	switch (event) 
		{ 
		case EVENT_COMMIT: 
		 
			//删除波形 
			DeleteGraphPlot (panelHandle, PANEL_GRAPH, -1, VAL_IMMEDIATE_DRAW); 
		   
			break; 
		} 
	return 0; 
}