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

📄 tooldemo.c

📁 labwindows编程环境下
💻 C
📖 第 1 页 / 共 2 页
字号:
    
    return toolbar;
}

/*--------------------------------------------------------------------------*/
/* UIR Callbacks                                                            */
/*--------------------------------------------------------------------------*/
int CVICALLBACK About_OK (int panel, int control, int event,
        void *callbackData, int eventData1, int eventData2) {
    
    switch (event) {
        case EVENT_COMMIT:
            RemovePopup (0);
        break;
    }
    return 0;
}

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

void CVICALLBACK MenuCallback (int menuBar, int menuItem, void *callbackData, int panel){
    
    switch(menuItem){
        case MENU_HELP_ABOUT:
            if ((hAboutPanel = LoadPanel (0, "tooldemo.uir", ABOUT)) < 0)
                return;
            InstallPopup (hAboutPanel);
            break;
        
        case MENU_FILE_NEW:
            ShowAction (panel, "New File");
            break;
        case MENU_FILE_OPEN:
            ShowAction (panel, "Open File");
            break;
        case MENU_FILE_SAVE:
            ShowAction (panel, "Save File");
            break;
        case MENU_FILE_SAVEALL:
            ShowAction (panel, "Save All");
            break;
        case MENU_EDIT_CUT:
            ShowAction (panel, "Cut");
            break;
        case MENU_EDIT_COPY:
            ShowAction (panel, "Copy");
            break;
        case MENU_EDIT_PASTE:
            ShowAction (panel, "Paste");
            break;
    }       
}


int CVICALLBACK GoStopCallback (int panel, int control, int event,
        void *callbackData, int eventData1, int eventData2) 
{
    switch ((int)callbackData)
    {
        case 1:
            ShowAction (hMainPanel, "Go");
            break;
        case 2:
            ShowAction (hMainPanel, "Stop");
            break;
    }        
    return 0;
}

int CVICALLBACK SortByCallback (int panel, int control, int event,
        void *callbackData, int eventData1, int eventData2) 
{
    switch ((int)callbackData)
    {
        case 1:
            ShowAction (hMainPanel, "Sort By Name");
            break;
        case 2:
            ShowAction (hMainPanel, "Sort By Date");
            break;
        case 3:
            ShowAction (hMainPanel, "Sort By Size");
            break;
        case 4:
            ShowAction (hMainPanel, "Sort By Type");
            break;
    }        
    return 0;
}

void CVICALLBACK MenuExit (int menuBar, int menuItem, void *callbackData, int panel) 
{
    QuitUserInterface (0);
}

int CVICALLBACK RingCallback (int panel, int control, int event,
        void *callbackData, int eventData1, int eventData2) 
{
    int Index;
    static char Label[256];
    
    switch (event) {
        case EVENT_COMMIT:
            GetCtrlIndex (panel, control, &Index);
            GetLabelFromIndex (panel, control, Index, Label);
            ShowAction (hMainPanel, Label);
        break;
    }
    return 0;
}


int CVICALLBACK StringCallback (int panel, int control, int event,
        void *callbackData, int eventData1, int eventData2) 
{
    int Index;
    static char Label[256];
    
    switch (event) {
        case EVENT_COMMIT:
            GetCtrlVal (panel, control, Label);
            ShowAction (hMainPanel, Label);
        break;
    }
    return 0;
}


static void ShowAction (int parentPanel, char *action)
{
    static int actionPanel = 0;
    int top, left, height, width;
    
    if (!actionPanel) {
        actionPanel = LoadPanel (parentPanel, "tooldemo.uir", ACTION);
        if (actionPanel <= 0) {
            actionPanel = 0;
            return;
        }
        SetPanelAttribute (actionPanel, ATTR_TITLEBAR_VISIBLE, 0);
        SetPanelAttribute (actionPanel, ATTR_TITLEBAR_VISIBLE, 0);
    }

    SetCtrlVal (actionPanel, ACTION_ACTION, action);
    GetCtrlBoundingRect (actionPanel, ACTION_ACTION, NULL, NULL, &height,
                         &width);
    SetPanelAttribute (actionPanel, ATTR_HEIGHT, height);
    SetPanelAttribute (actionPanel, ATTR_WIDTH, width);
    SetPanelPos (actionPanel, VAL_AUTO_CENTER, VAL_AUTO_CENTER);
    ResetTimer (actionPanel, ACTION_TIMER);
    SetCtrlAttribute (actionPanel, ACTION_TIMER, ATTR_ENABLED, TRUE);
    DisplayPanel (actionPanel);
}

int CVICALLBACK ActionTimerCallback (int panel, int control, int event,
        void *callbackData, int eventData1, int eventData2)
{
    switch (event) {
        case EVENT_TIMER_TICK:
            HidePanel (panel);
            SetCtrlAttribute (panel, control, ATTR_ENABLED, FALSE);
            break;
    }
    return 0;
}

int CVICALLBACK ActionPanelCallback (int panel, int event, void *callbackData,
        int eventData1, int eventData2)
{
    switch (event) {
        case EVENT_PANEL_SIZE:
        case EVENT_PANEL_MOVE:
        case EVENT_GOT_FOCUS:
            break;
        default:
            SetCtrlAttribute (panel, ACTION_TIMER, ATTR_ENABLED, FALSE);
            HidePanel (panel);
            break;
    }

    return (FALSE);
}

int CVICALLBACK ChangeAttributeCallback (int panel, int control, int event,
        void *callbackData, int eventData1, int eventData2)
{
    int intValue;
    double doubleValue;
    ToolbarType toolbar;
    
    if (panel == hMainPanel)
         toolbar = gToolbar;
    
    if (!toolbar)
        return 0;
        
    switch (event) {
        case EVENT_COMMIT:
        switch (control) 
        {
            case PANEL_STYLE:
                GetCtrlVal(panel, control, &intValue);
                Toolbar_SetAttribute (toolbar, TOOLBAR_ATTR_STYLE, 
                    intValue?TOOLBAR_VAL_FLAT:TOOLBAR_VAL_RAISED);
                break;
            
            case PANEL_SCALE:
                GetCtrlVal(panel, control, &doubleValue);
                Toolbar_SetAttribute (toolbar, TOOLBAR_ATTR_SCALING_FACTOR, 
                    doubleValue);
                break;
                
            case PANEL_RESIZE:
                GetCtrlVal(panel, control, &intValue);
                SetPanelAttribute(panel, ATTR_SCALE_CONTENTS_ON_RESIZE, 
                    intValue);
                /* SetPanelAttribute (panel, ATTR_SIZABLE, intValue); */
                Toolbar_SetAttribute (toolbar, TOOLBAR_ATTR_AUTO_SCALING, 
                    (intValue)?TOOLBAR_VAL_WHEN_PANEL_RESCALES:0);
                break;
        }    
        break;
    }
    return 0;
}

⌨️ 快捷键说明

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