⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sample4_7.c

📁 CVI教程,用于信号采集系统的多任务开发软件.学习简单,功能实用.
💻 C
字号:
#include <ansi_c.h>#include <cvirte.h>		/* Needed if linking in external compiler; harmless otherwise */#include <userint.h>#include "sample4_7.h"static int panelHandle;double datapoints[100];  int line_color=0x33FF99, line_style=0;int shape_color=0x0,shape_style=0,shapefill_mode=0;int cursor_number=1;int main (int argc, char *argv[]){	int i;	if (InitCVIRTE (0, argv, 0) == 0)			return -1;	/* out of memory */    for (i=0; i<100; i++)        datapoints[i] = 100.0 * rand() / RAND_MAX;		if ((panelHandle = LoadPanel (0, "sample4_7.uir", PANEL)) < 0)		return -1;	DisplayPanel (panelHandle);	RunUserInterface ();	return 0;}int CVICALLBACK Shutdown (int panel, int control, int event,		void *callbackData, int eventData1, int eventData2){	switch (event)	{		case EVENT_COMMIT:			QuitUserInterface (0);			break;	}	return 0;}int CVICALLBACK Graph (int panel, int control, int event,		void *callbackData, int eventData1, int eventData2){    double x,y;    int plothandle, index;    if (event == EVENT_COMMIT) {        GetGraphCursor (panelHandle, PANEL_GRAPH, cursor_number, &x, &y);        GetGraphCursorIndex (panelHandle, PANEL_GRAPH, cursor_number, &plothandle, &index);        SetCtrlVal (panelHandle, PANEL_XREADOUT, x);        SetCtrlVal (panelHandle, PANEL_YREADOUT, y);        SetCtrlVal (panelHandle, PANEL_INDEX, index);        }	return 0;}int CVICALLBACK PlotCurve (int panel, int control, int event,		void *callbackData, int eventData1, int eventData2){	switch (event)	{		case EVENT_COMMIT:       		 DeleteGraphPlot (panelHandle, PANEL_GRAPH, -1, 1);        	 PlotY (panelHandle, PANEL_GRAPH, datapoints, 100, VAL_DOUBLE, line_style,               VAL_EMPTY_SQUARE, VAL_SOLID, 1, line_color);  			break;	}	return 0;}int CVICALLBACK LineColor (int panel, int control, int event,		void *callbackData, int eventData1, int eventData2){	switch (event)	{		case EVENT_COMMIT:			GetCtrlVal (panelHandle, PANEL_LINECOLOR, &line_color); 			PlotCurve (0,0,EVENT_COMMIT,0,0,0);			SetActiveCtrl( panel, control);			break;	}	return 0;}int CVICALLBACK LineStyle (int panel, int control, int event,		void *callbackData, int eventData1, int eventData2){	switch (event)	{		case EVENT_COMMIT:			GetCtrlVal (panelHandle, PANEL_LINESTYLE, &line_style);			PlotCurve (0,0,EVENT_COMMIT,0,0,0);   			SetActiveCtrl( panel, control); 			break;	}	return 0;}int CVICALLBACK PlotShape (int panel, int control, int event,		void *callbackData, int eventData1, int eventData2){	int color_fill;	switch (event)	{		case EVENT_COMMIT:	        if (shapefill_mode)	            color_fill = VAL_TRANSPARENT;	        else	            color_fill = shape_color;	        DeleteGraphPlot (panelHandle, PANEL_GRAPH, -1, 1);	        switch (shape_style) {	            case 0 :	                PlotRectangle (panelHandle, PANEL_GRAPH, 20, 20, 50, 50, shape_color, color_fill);	                break;	            case 1 :	                PlotOval (panelHandle, PANEL_GRAPH, 20, 40, 50, 50, shape_color, color_fill);	                break;	            case 2 :	                PlotArc (panelHandle, PANEL_GRAPH, 20, 20, 50, 50, 1500, 900, shape_color, color_fill);	                break;	            case 3 :	                PlotPoint (panelHandle, PANEL_GRAPH, 44, 66, VAL_EMPTY_SQUARE, shape_color);	                break;	            case 4 :	                PlotText (panelHandle, PANEL_GRAPH, 30, 60, "TEXT", VAL_MENU_META_FONT,	                      shape_color, VAL_TRANSPARENT);	                break;	            } 			break;	}	return 0;}int CVICALLBACK FillColor (int panel, int control, int event,		void *callbackData, int eventData1, int eventData2){	switch (event)	{		case EVENT_COMMIT:			 GetCtrlVal (panelHandle, PANEL_FILLCOLOR, &shape_color);  			 PlotShape (0,0,EVENT_COMMIT,0,0,0); 			 SetActiveCtrl( panel, control); 			break;	}	return 0;}int CVICALLBACK FillMode (int panel, int control, int event,		void *callbackData, int eventData1, int eventData2){	switch (event)	{		case EVENT_COMMIT:			GetCtrlVal (panelHandle, PANEL_FILLMODE, &shapefill_mode); 			PlotShape (0,0,EVENT_COMMIT,0,0,0); 			SetActiveCtrl( panel, control); 			break;	}	return 0;}int CVICALLBACK ShapeStyle (int panel, int control, int event,		void *callbackData, int eventData1, int eventData2){	switch (event)	{		case EVENT_COMMIT:			GetCtrlVal (panelHandle, PANEL_SHAPESTYLE, &shape_style); 			PlotShape (0,0,EVENT_COMMIT,0,0,0); 			SetActiveCtrl( panel, control); 			break;	}	return 0;}int CVICALLBACK SelectCursor (int panel, int control, int event,		void *callbackData, int eventData1, int eventData2){	switch (event)	{		case EVENT_COMMIT:			GetCtrlVal (panelHandle, PANEL_SELECTCURSOR, &cursor_number);			Graph(0,0,EVENT_COMMIT,0,0,0); 			SetActiveCtrl( panel, control); 			break;	}	return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -