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

📄 movedemo.c

📁 CVI教程,用于信号采集系统的多任务开发软件.学习简单,功能实用.
💻 C
字号:
#include <cvirte.h>    /* Needed if linking in external compiler; harmless otherwise */#include <ansi_c.h>#include <userint.h>#include "movedemo.h"#include "movectrl.h"/***********//* Globals *//***********/int mainPanel, movableCtrlPanel;/*******************************//* Private Function Prototypes *//*******************************/static void InsertPanelControlsIntoRing (int panel, int ringPanel,                                         int ringCtrl);static void UpdateSettingCheckBoxes (int panel);/*************//* Functions *//*************/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 */        mainPanel = LoadPanel (0, "movedemo.uir", PANEL);    movableCtrlPanel = LoadPanel (mainPanel, "movedemo.uir", MOVABLE);    SetPanelPos (movableCtrlPanel, 14, 24);        MakeMovableCtrl (movableCtrlPanel, -1, "", 1, 1, 1, 1);    InsertPanelControlsIntoRing (movableCtrlPanel, mainPanel, PANEL_CTRLRING);        DisplayPanel (movableCtrlPanel);    DisplayPanel (mainPanel);    RunUserInterface ();    DiscardPanel (mainPanel);    return 0;}static void InsertPanelControlsIntoRing (int panel, int ringPanel,                                         int ringCtrl){    int ctrl, ctrlStyle;    char ctrlName[256];        GetPanelAttribute (panel, ATTR_PANEL_FIRST_CTRL, &ctrl);    while (ctrl > 0)    {        GetCtrlAttribute (panel, ctrl, ATTR_CTRL_STYLE, &ctrlStyle);                /* Check to see the type of control */        if ((ctrlStyle >= CTRL_RAISED_BOX) && (ctrlStyle <= CTRL_FLAT_ROUNDED_BOX))            strcpy (ctrlName, "CTRL_DECORATION");   /* decoration */        else if (ctrlStyle == CTRL_TEXT_MSG)            GetCtrlVal (panel, ctrl, ctrlName);     /* text msg */        else            GetCtrlAttribute (panel, ctrl, ATTR_LABEL_TEXT, ctrlName);        InsertListItem (ringPanel, ringCtrl, -1, ctrlName, ctrl);        GetCtrlAttribute (panel, ctrl, ATTR_NEXT_CTRL, &ctrl);    }        UpdateSettingCheckBoxes (ringPanel);}static void UpdateSettingCheckBoxes (int panel){    int ctrlID, movable, sizable, labelMovable;        GetCtrlVal (panel, PANEL_CTRLRING, &ctrlID);    GetMovableCtrlAttribute (movableCtrlPanel, ctrlID,                             MOVECTRL_ATTR_CTRL_MOVABLE, &movable);    GetMovableCtrlAttribute (movableCtrlPanel, ctrlID,                             MOVECTRL_ATTR_CTRL_SIZABLE, &sizable);    GetMovableCtrlAttribute (movableCtrlPanel, ctrlID,                             MOVECTRL_ATTR_LABEL_MOVABLE, &labelMovable);        SetCtrlVal (panel, PANEL_MOVABLE, movable);    SetCtrlVal (panel, PANEL_SIZABLE, sizable);    SetCtrlVal (panel, PANEL_LABELMOVABLE, labelMovable);}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 ShowHelp (int panel, int control, int event,        void *callbackData, int eventData1, int eventData2){    int helpPanel, eventPanel, eventControl;        switch (event)    {        case EVENT_COMMIT:            helpPanel = LoadPanel (0, "movedemo.uir", HELPPANEL);            InstallPopup (helpPanel);            GetUserEvent (1, &eventPanel, &eventControl);            RemovePopup (0);            break;    }    return 0;}int CVICALLBACK SaveSettings (int panel, int control, int event,        void *callbackData, int eventData1, int eventData2){    char configName[256];    int numItems, prevIndex;        switch (event)    {        case EVENT_COMMIT:            GetCtrlVal (panel, PANEL_CONFIGNAME, configName);            SaveMovableCtrlSettings (movableCtrlPanel, -1, configName);            /* Put name in history list (if it's not already there) */            GetIndexFromValue (panel, PANEL_NAMEHISTORY, &prevIndex, configName);            if (prevIndex == -1)            {                InsertListItem (panel, PANEL_NAMEHISTORY, -1, configName, configName);                GetNumListItems (panel, PANEL_NAMEHISTORY, &numItems);                SetCtrlIndex (panel, PANEL_NAMEHISTORY, numItems - 1);            }            break;    }    return 0;}int CVICALLBACK LoadSettings (int panel, int control, int event,        void *callbackData, int eventData1, int eventData2){    char configName[256];        switch (event)    {        case EVENT_COMMIT:            GetCtrlVal (panel, PANEL_CONFIGNAME, configName);            LoadMovableCtrlSettings (movableCtrlPanel, -1, configName);            UpdateSettingCheckBoxes (panel);            break;    }    return 0;}int CVICALLBACK SetSizable (int panel, int control, int event,        void *callbackData, int eventData1, int eventData2){    int ctrlID, sizable;        switch (event)    {        case EVENT_COMMIT:            GetCtrlVal (panel, PANEL_CTRLRING, &ctrlID);            GetCtrlVal (panel, control, &sizable);            SetMovableCtrlAttribute (movableCtrlPanel, ctrlID,                                     MOVECTRL_ATTR_CTRL_SIZABLE, sizable);            break;    }    return 0;}int CVICALLBACK SetLabelMovable (int panel, int control, int event,        void *callbackData, int eventData1, int eventData2){    int ctrlID, labelMovable;        switch (event)    {        case EVENT_COMMIT:            GetCtrlVal (panel, PANEL_CTRLRING, &ctrlID);            GetCtrlVal (panel, control, &labelMovable);            SetMovableCtrlAttribute (movableCtrlPanel, ctrlID,                                     MOVECTRL_ATTR_LABEL_MOVABLE, labelMovable);            break;    }    return 0;}int CVICALLBACK SetMovable (int panel, int control, int event,        void *callbackData, int eventData1, int eventData2){    int ctrlID, movable;        switch (event)    {        case EVENT_COMMIT:            GetCtrlVal (panel, PANEL_CTRLRING, &ctrlID);            GetCtrlVal (panel, control, &movable);            SetMovableCtrlAttribute (movableCtrlPanel, ctrlID,                                     MOVECTRL_ATTR_CTRL_MOVABLE, movable);            break;    }    return 0;}int CVICALLBACK ChangeCtrl (int panel, int control, int event,        void *callbackData, int eventData1, int eventData2){    switch (event)    {        case EVENT_COMMIT:            UpdateSettingCheckBoxes (panel);            break;    }    return 0;}int CVICALLBACK SelectHistoryItem (int panel, int control, int event,        void *callbackData, int eventData1, int eventData2){    char configName[256];        switch (event)    {        case EVENT_COMMIT:            GetCtrlVal (panel, PANEL_NAMEHISTORY, configName);            SetCtrlVal (panel, PANEL_CONFIGNAME, configName);            break;    }    return 0;}

⌨️ 快捷键说明

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