2-2.c

来自「cvi编程举例」· C语言 代码 · 共 107 行

C
107
字号
#include <cvirte.h>		
#include <userint.h>
#include "2-2.h"
static int ColIndex;
static int Num2;
static char tag[40];
static char ItemLabel[30];
static int Index1;

static int panelHandle;

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

int CVICALLBACK insert (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	char str1[30];
	switch (event)
	{
		case EVENT_COMMIT:
			
			GetCtrlVal (panelHandle, PANEL_STRING, str1);
			
			InsertListItem (panelHandle, PANEL_LISTBOX, -1, str1, 0);
			SetCtrlVal(panelHandle, PANEL_STRING, "");  
			

			break;
	}
	return 0;
}

int CVICALLBACK delete (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	switch (event)
	{
		case EVENT_COMMIT:
			GetCtrlIndex (panelHandle, PANEL_LISTBOX, &Index1);
			if (Index1!=-1)
			{
				GetLabelFromIndex (panelHandle, PANEL_LISTBOX, Index1, ItemLabel);
		//	SetCtrlVal (panelHandle, PANEL_STRING, ItemLabel);
				DeleteListItem (panelHandle, PANEL_LISTBOX, Index1, 1);
			}
			break;
	}
	return 0;
}

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

int CVICALLBACK transfer (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	switch (event)
	{
		case EVENT_COMMIT:
			GetCtrlIndex (panelHandle, PANEL_LISTBOX, &Index1);
			if (Index1!=-1)
			{
				GetLabelFromIndex (panelHandle, PANEL_LISTBOX, Index1, ItemLabel);
				DeleteListItem (panelHandle, PANEL_LISTBOX, Index1, 1);
				GetNumTreeItems (panelHandle, PANEL_TREE, VAL_SIBLING, 0, VAL_FIRST, VAL_NEXT, VAL_LEAF, &Num2);
				SetCtrlVal (panelHandle, PANEL_NUMERIC, Num2+2);
				
				InsertTreeItem (panelHandle, PANEL_TREE, VAL_SIBLING,Num2 , VAL_NEXT, ItemLabel, "", tag, Index1);
			}
			
			break;
	}
	return 0;
}

int CVICALLBACK DeleteTree (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	switch (event)
	{
		case EVENT_COMMIT:
			GetCtrlIndex (panelHandle, PANEL_TREE, &ColIndex);
			DeleteListItem (panelHandle, PANEL_TREE, ColIndex, 1);
			break;
	}
	return 0;
}

⌨️ 快捷键说明

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