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

📄 sample4_5.c

📁 本文件是ni公司的labwindows/cvi软件的部分例子和源程序
💻 C
字号:
#include <cvirte.h>    /* Needed if linking in external compiler; harmless otherwise */#include <userint.h>#include <ansi_c.h>void GenerateGUI(void);int CVICALLBACK GenerateData (int panelHandle,          int controlID, int event, void *callbackData, int          eventData1, int eventData2);int CVICALLBACK Shutdown (int panelHandle,          int controlID, int event, void *callbackData, int          eventData1, int eventData2); void CVICALLBACK MGenerateData ( int menuBarHandle,         int menuItemID, void *callbackData, int panelHandle );void CVICALLBACK MExit ( int menuBarHandle,         int menuItemID, void *callbackData, int panelHandle );int CVICALLBACK PanelCallback (int panelHandle,			int event, void *callbackData, int eventData1, int eventData2);int handle,Generate, randomNum, ExitButton,MenuBar,Menu,SubMenu,MenuItem;  int main (int argc, char *argv[]){    if (InitCVIRTE (0, argv, 0) == 0)    /* Needed if linking in external compiler; harmless otherwise */        return -1;    /* out of memory */        GenerateGUI();    DisplayPanel (handle);    RunUserInterface();	       return 0;}//generate user interfacevoid GenerateGUI(){      handle = NewPanel (0, "sample4_5", 50, 50, 150, 200);      SetPanelAttribute (handle, ATTR_CAN_MAXIMIZE, 0);	SetPanelAttribute (handle, ATTR_SIZABLE, 0);  	InstallPanelCallback (handle,PanelCallback, 0);    Generate = NewCtrl (handle, CTRL_SQUARE_COMMAND_BUTTON, "Generate Data",70, 70);    InstallCtrlCallback (handle, Generate, GenerateData, 0);    ExitButton = NewCtrl (handle, CTRL_PICTURE_COMMAND_BUTTON,"", 120, 150);    InstallCtrlCallback (handle, ExitButton, Shutdown, 0);	SetCtrlAttribute (handle, ExitButton, ATTR_HEIGHT, 25);	SetCtrlAttribute (handle, ExitButton, ATTR_WIDTH, 40);	SetCtrlAttribute (handle,ExitButton, ATTR_FIT_MODE,  VAL_SIZE_TO_PICTURE);    SetCtrlAttribute (handle, ExitButton, ATTR_IMAGE_FILE, "exit.pcx");    SetPanelAttribute (handle, ATTR_CLOSE_CTRL, ExitButton);             randomNum = NewCtrl (handle, CTRL_NUMERIC, "Random Number", 40, 70);    SetCtrlAttribute (handle, randomNum, ATTR_CTRL_MODE, VAL_INDICATOR);			    MenuBar=NewMenuBar (handle);	Menu = NewMenu (MenuBar, "__Tool", -1);	MenuItem=NewMenuItem (MenuBar, Menu, "__Next", -1, 0, 0, 0);  	SubMenu=NewSubMenu(MenuBar, MenuItem);	NewMenuItem (MenuBar, SubMenu, "__Generate Data", -1, 0, MGenerateData, 0);	NewMenuItem (MenuBar,SubMenu,"__Exit",0,VAL_MENUKEY_MODIFIER|'X',MExit,0); }//Menu Generate Data callback fun void CVICALLBACK MGenerateData ( int menuBarHandle,         int menuItemID, void *callbackData, int panelHandle ){    double random_val;    random_val = rand()/32767.0 * 100.0;    SetCtrlVal (panelHandle , randomNum, random_val);}//Menu exit callback funvoid CVICALLBACK MExit( int menuBarHandle,         int menuItemID, void *callbackData, int panelHandle ){	QuitUserInterface(0);   }//button callbackint CVICALLBACK GenerateData (int panel, int control, int event, void *callbackData, int eventData1, int eventData2){    double random_val;    if (event == EVENT_COMMIT) {        random_val = rand()/32767.0 * 100.0;        SetCtrlVal (panel, randomNum, random_val);        }    return(0);}//exit button callbackint CVICALLBACK Shutdown (int panel, int control, int event, void *callbackData, int eventData1, int eventData2){    if (event == EVENT_COMMIT)        QuitUserInterface(0);    return(0);}//panel callbackint CVICALLBACK PanelCallback (int panel, int event, void *callbackData, int eventData1, int eventData2){	if(event==EVENT_RIGHT_CLICK)	   MessagePopup("Message","You right click the panel!"); 	return 0;}

⌨️ 快捷键说明

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