1、Text文本框
Create ——> Text ——> String 、Text Message 、Text Box 控件
2、列表框(List Box)、树控件(Tree)、表格控件(Table)
Create ——> Lists&Tables ——> List BOX 、Tree 、Table
控件功能函数:
Library ——> User Interface Library ——> Controls/Grqaphs/Strip Charts ——> General Functions
New Control :NewCtrl 新建控件,穿件一个新控件,并返回该控件的ID值
Duplicate Control :DuplicateCtrl 复制控件,
Discard Control :DiscardCtrl 删除控件
Get Active Control :GetActiveCtrl 获得当前激活控件
Set Active Control :SetActiveCtrl 激活制定控件
Default Control Value :DefaultCtrl 设置控件默认值,恢复指定面板控件的默认值
Get Control Value :GetCtrlVal 获取控件当前值
Set Control Value :SetCtrlVal 设置控件当前值
Get Control Attribute :GetCtrlAttribute 获取控件属性值
Set Control Attribute :SetCtrlAttribute 设置控件属性值
Get Control Bounding Rectangle :GetCtrlBoundingRect 获取控件的位置坐标
3、文本框使用编程实例
#include <formatio.h> #include <cvirte.h> #include <userint.h> #include "控件2.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, "控件2.uir", PANEL)) < 0) return -1; DisplayPanel (panelHandle); RunUserInterface (); DiscardPanel (panelHandle); return 0; } //“转移”按钮的回调函数 int CVICALLBACK transfer (int panel, int control, int event, void *callbackData, int eventData1, int eventData2) { int maxitems; int i; char label[10]; char Tag[32]; int value; int checked; static int j=0; switch (event) { case EVENT_COMMIT: //清除指定列表框 ClearListCtrl(panelHandle,PANEL_TREE); //向文本框的末尾添加一行文本 InsertTextBoxLine(panelHandle,PANEL_TEXTBOX,-1,"转移并显示目录"); j=0; //获得列表框项目的数目 GetNumListItems(panelHandle,PANEL_LISTBOX,&maxitems); for(i = 0 ; i < maxitems; i++) { //获得列表框中指定项目的选中状态 //IsListItemChecked(panelHandle,PANEL_LISTBOX,i,&checked); IsListItemChecked(panelHandle,PANEL_LISTBOX,i,&checked); //如果该项目被选中,则执行以下操作 if(checked) { j=j+1; //获得指定索引项目的value值 GetValueFromIndex(panelHandle,PANEL_LISTBOX,i,&value); //获得指定索引项目的标题 GetLabelFromIndex(panelHandle,PANEL_LISTBOX,i,label); //将选中的项目插入到指定的树控件 InsertTreeItem(panelHandle,PANEL_TREE,VAL_SIBLING,j-2,VAL_NEXT,label,"",Tag,value); } } break; } return 0; } //“清除已选目录”按钮的回调函数 int CVICALLBACK clear (int panel, int control, int event, void *callbackData, int eventData1, int eventData2) { switch (event) { case EVENT_COMMIT: //清除控件的内容 ClearListCtrl(panelHandle,PANEL_TREE); //向文本框末尾插入一行文本 InsertTextBoxLine(panelHandle,PANEL_TEXTBOX,-1,"清除已选目录"); break; } return 0; } //“插入”按钮的回调函数 int CVICALLBACK insert (int panel, int control, int event, void *callbackData, int eventData1, int eventData2) { char newitem[10]; switch (event) { case EVENT_COMMIT: //向文本框末尾插入一行文本 InsertTextBoxLine(panelHandle,PANEL_TEXTBOX,-1,"添加目录"); //得到指定String控件的值 GetCtrlVal(panel,PANEL_STRING_INSERT,newitem); //向列表框插入新的项目 InsertListItem(panelHandle,PANEL_LISTBOX,-1,newitem,0); break; } return 0; } //“移除”按钮的回调函数 int CVICALLBACK delete (int panel, int control, int event, void *callbackData, int eventData1, int eventData2) { int maxitems; char removeitem[10]; int i; char label[10]; switch (event) { case EVENT_COMMIT: InsertTextBoxLine(panelHandle,PANEL_TEXTBOX,-1,"移除目录"); GetCtrlVal(panelHandle,PANEL_STRING_DELETE,removeitem); GetNumListItems(panelHandle,PANEL_LISTBOX,&maxitems); for(i = 0 ; i < maxitems ; i++ ) { //获得指定索引的项目标题 GetLabelFromIndex(panelHandle,PANEL_LISTBOX,i,label); //判断该标题是否和指定的内容相一致 if(CompareStrings(label,0,removeitem,0,1)==0) { //删除列表框指定项目 DeleteListItem(panelHandle,PANEL_LISTBOX,i--,1); maxitems--; } } 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; }