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

📄 scrldemo.c

📁 CVI教程,用于信号采集系统的多任务开发软件.学习简单,功能实用.
💻 C
字号:
#include <cvirte.h>    /* Needed if linking in external compiler; harmless otherwise */#include <ansi_c.h>#include <userint.h>#include "scroll.h"#include "scrldemo.h"int gCurrScrollBar, testPanel;int CVICALLBACK ScrollBarCallback(int panel, int scrollBar, int event, void *callbackData, int eventData1, int eventData2);void UpdateAttrs(void);int main (int argc, char *argv[])    {    int scrollBar, error;    if (InitCVIRTE (0, argv, 0) == 0)    /* Needed if linking in external compiler; harmless otherwise */        return -1;    /* out of memory */    testPanel = LoadPanel(0, "scrldemo.uir", PANEL);    /*  Create one scroll bar from scratch and convert two graph controls        to scroll bars    */    scrollBar = ScrollBar_Create(testPanel, 100, 250, 1, ScrollBarCallback, &testPanel);    error = ScrollBar_ConvertFromGraph(testPanel, PANEL_SCROLL1, ScrollBarCallback, &testPanel);         /* the callback for PANEL_SCROLL2 is already specified in the .uir file */    error = ScrollBar_ConvertFromGraph(testPanel, PANEL_SCROLL2, 0, &testPanel);    gCurrScrollBar = scrollBar;//PANEL_SCROLL2;    UpdateAttrs();    DisplayPanel(testPanel);    RunUserInterface();        return 0;    }int CVICALLBACK ScrollBarCallback(int panel, int scrollBar, int event, void *callbackData, int eventData1, int eventData2)    {    char buf[255], eventBuf[50];    int checked;    unsigned int uValue;    GetCtrlVal(testPanel, PANEL_DISPLAYEVENTS, &checked);    if (checked)        {        switch (event)            {            case EVENT_SB_UP_BUTTON:                strcpy(eventBuf, "EVENT_SB_UP_BUTTON");                break;            case EVENT_SB_DOWN_BUTTON:                strcpy(eventBuf, "EVENT_SB_DOWN_BUTTON");                break;            case EVENT_SB_PAGE_UP:                strcpy(eventBuf, "EVENT_SB_PAGE_UP");                break;            case EVENT_SB_PAGE_DOWN:                strcpy(eventBuf, "EVENT_SB_PAGE_DOWN");                break;            case EVENT_SB_THUMB_CHANGE:                strcpy(eventBuf, "EVENT_SB_THUMB_CHANGE");                break;            case EVENT_SB_COMMIT:                strcpy(eventBuf, "EVENT_SB_COMMIT");                break;            }        sprintf(buf, "panel = %ld, scrollBar = %ld, event = %s, value = %ld\n",            panel, scrollBar, eventBuf, eventData1);        SetCtrlVal(testPanel, PANEL_EVENTBOX, buf);        }    if (event == EVENT_SB_COMMIT)        {        if (scrollBar != gCurrScrollBar)            {            gCurrScrollBar = scrollBar;            UpdateAttrs();            }        else            {            ScrollBar_GetAttribute(testPanel, gCurrScrollBar, ATTR_SB_VALUE, &uValue);            SetCtrlVal(testPanel, PANEL_SET_VALUE, uValue);            }        }    return 0;    }void UpdateAttrs()    {    unsigned int uValue;    ScrollBar_GetAttribute(testPanel, gCurrScrollBar, ATTR_SB_COLOR, &uValue);    SetCtrlVal(testPanel, PANEL_SET_COLOR, uValue);    ScrollBar_GetAttribute(testPanel, gCurrScrollBar, ATTR_SB_VALUE, &uValue);    SetCtrlVal(testPanel, PANEL_SET_VALUE, uValue);    ScrollBar_GetAttribute(testPanel, gCurrScrollBar, ATTR_SB_DOC_MIN, &uValue);    SetCtrlVal(testPanel, PANEL_SET_DOCMIN, uValue);    ScrollBar_GetAttribute(testPanel, gCurrScrollBar, ATTR_SB_DOC_MAX, &uValue);    SetCtrlVal(testPanel, PANEL_SET_DOCMAX, uValue);    ScrollBar_GetAttribute(testPanel, gCurrScrollBar, ATTR_SB_VIEW_SIZE, &uValue);    SetCtrlVal(testPanel, PANEL_SET_VIEWSIZE, uValue);    ScrollBar_GetAttribute(testPanel, gCurrScrollBar, ATTR_SB_HEIGHT, &uValue);    SetCtrlVal(testPanel, PANEL_SET_HEIGHT, uValue);    ScrollBar_GetAttribute(testPanel, gCurrScrollBar, ATTR_SB_WIDTH, &uValue);    SetCtrlVal(testPanel, PANEL_SET_WIDTH, uValue);    ScrollBar_GetAttribute(testPanel, gCurrScrollBar, ATTR_SB_VERTICAL, &uValue);    SetCtrlVal(testPanel, PANEL_SET_VERTICAL, uValue);    ScrollBar_GetAttribute(testPanel, gCurrScrollBar, ATTR_SB_PROP_THUMB, &uValue);    SetCtrlVal(testPanel, PANEL_SET_THUMB, uValue);    }void CVICALLBACK ExitCallback(int menubar, int menuItem, void *callbackData, int panel)    {    QuitUserInterface(0);    }int CVICALLBACK AttributeChanged(int panel, int control, int event, void *callbackData, int eventData1, int eventData2)    {    unsigned int uValue;    if ((event == EVENT_VAL_CHANGED) || (event == EVENT_COMMIT))        {        GetCtrlVal(panel, control, &uValue);        switch (control)            {            case PANEL_SET_COLOR:                ScrollBar_SetAttribute(testPanel, gCurrScrollBar, ATTR_SB_COLOR, uValue);                break;            case PANEL_SET_VALUE:                ScrollBar_SetAttribute(testPanel, gCurrScrollBar, ATTR_SB_VALUE, uValue);                break;            case PANEL_SET_DOCMIN:                ScrollBar_SetAttribute(testPanel, gCurrScrollBar, ATTR_SB_DOC_MIN, uValue);                break;            case PANEL_SET_DOCMAX:                ScrollBar_SetAttribute(testPanel, gCurrScrollBar, ATTR_SB_DOC_MAX, uValue);                break;            case PANEL_SET_VIEWSIZE:                ScrollBar_SetAttribute(testPanel, gCurrScrollBar, ATTR_SB_VIEW_SIZE, uValue);                break;            case PANEL_SET_HEIGHT:                ScrollBar_SetAttribute(testPanel, gCurrScrollBar, ATTR_SB_HEIGHT, uValue);                break;            case PANEL_SET_WIDTH:                ScrollBar_SetAttribute(testPanel, gCurrScrollBar, ATTR_SB_WIDTH, uValue);                break;            case PANEL_SET_VERTICAL:                ScrollBar_SetAttribute(testPanel, gCurrScrollBar, ATTR_SB_VERTICAL, uValue);                break;            case PANEL_SET_THUMB:                ScrollBar_SetAttribute(testPanel, gCurrScrollBar, ATTR_SB_PROP_THUMB, uValue);                break;            }        UpdateAttrs();        }    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;}int CVICALLBACK HelpCallback (int panel, int control, int event,        void *callbackData, int eventData1, int eventData2){    switch (event)        {        case EVENT_COMMIT:            MessagePopup("Scroll Bar Test Help",                 "This program demonstrates the features and operation of scroll bar\n"                "controls created using the scroll.fp instrument driver\n\n"                "Although some CVI controls include configurable scroll bars,\n"                "there is no built in standalone scroll bar control.  The scroll.fp instrument\n"                "driver remedies this by implementing a scroll bar control using the\n"                "built in graph control.\n\n"                "To add scroll bar controls to your application, you should add\n"                "scroll.fp to your project.  The function panels for scroll.fp\n"                "contain help for each function in the driver.\n");            break;        }    return 0;}

⌨️ 快捷键说明

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