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

📄 tabprop.c

📁 CVI教程,用于信号采集系统的多任务开发软件.学习简单,功能实用.
💻 C
📖 第 1 页 / 共 2 页
字号:
        SetCtrlVal (info->tabAttrsPanel, TAB_ATTRS_DIMMED, dimmed);        free(text);        }}/***************************************************************/static void TabEdit_UpdateValues(TabEditDlg *info){    int     activePanel;    int     buttonPos;    int     buttonGap;    char    metaFont[256];    int     color;    int     stretch;    int     visible;    EasyTab_GetAttribute(info->panel, info->tabCtrl, ATTR_EASY_TAB_ACTIVE_PANEL, &activePanel);    if (activePanel > 0)        SetCtrlVal (info->tabsPanel, TABS_ACTIVE, activePanel);    EasyTab_GetAttribute(info->panel, info->tabCtrl, ATTR_EASY_TAB_ORIENTATION, &buttonPos);    SetCtrlVal (info->tabsPanel, TABS_BUTTONPOS, buttonPos);    EasyTab_GetAttribute(info->panel, info->tabCtrl, ATTR_EASY_TAB_STRETCH_TO_FIT, &stretch);    SetCtrlVal (info->tabsPanel, TABS_STRETCH, stretch);    EasyTab_GetAttribute(info->panel, info->tabCtrl, ATTR_EASY_TAB_BTN_GAP_SIZE, &buttonGap);    SetCtrlVal (info->tabsPanel, TABS_GAP, buttonGap);    EasyTab_GetAttribute(info->panel, info->tabCtrl, ATTR_EASY_TAB_META_FONT, metaFont);    SetCtrlVal (info->fontPanel, FONT_METAFONT, metaFont);    EasyTab_GetAttribute(info->panel, info->tabCtrl, ATTR_EASY_TAB_LABEL_COLOR, &color);    SetCtrlVal (info->fontPanel, FONT_COLOR, color);        EasyTab_GetAttribute(info->panel, info->tabCtrl, ATTR_EASY_TAB_VISIBLE, &visible);    SetCtrlVal (info->tabsPanel, TABS_VISIBLE, visible);    TabEdit_UpdateTabAttrValues(info);    TabEdit_UpdateBoundsDisplay(info);}/***************************************************************/static void TabEdit_UpdateUserSpecifiedBounds(TabEditDlg *info){    Rect    r;    int     whichBounds;        GetCtrlVal(info->boundsPanel, BOUNDS_WHICHBOUNDS, &whichBounds);    EasyTab_GetBounds (info->panel, info->tabCtrl,  whichBounds, &r);    SetCtrlVal(info->boundsPanel, BOUNDS_TOP, r.top);    SetCtrlVal(info->boundsPanel, BOUNDS_LEFT, r.left);    SetCtrlVal(info->boundsPanel, BOUNDS_HEIGHT, r.height);    SetCtrlVal(info->boundsPanel, BOUNDS_WIDTH, r.width);   }/***************************************************************/static void TabEdit_UpdateBoundsDisplay(TabEditDlg *info){    Rect    r;    EasyTab_GetBounds (info->panel, info->tabCtrl,  VAL_EASY_TAB_INTERIOR_BOUNDS, &r);    SetCtrlVal(info->boundsPanel, BOUNDS_INT_TOP, r.top);    SetCtrlVal(info->boundsPanel, BOUNDS_INT_LEFT, r.left);    SetCtrlVal(info->boundsPanel, BOUNDS_INT_HEIGHT, r.height);    SetCtrlVal(info->boundsPanel, BOUNDS_INT_WIDTH, r.width);       EasyTab_GetBounds (info->panel, info->tabCtrl,  VAL_EASY_TAB_EXTERIOR_BOUNDS, &r);    SetCtrlVal(info->boundsPanel, BOUNDS_EXT_TOP, r.top);    SetCtrlVal(info->boundsPanel, BOUNDS_EXT_LEFT, r.left);    SetCtrlVal(info->boundsPanel, BOUNDS_EXT_HEIGHT, r.height);    SetCtrlVal(info->boundsPanel, BOUNDS_EXT_WIDTH, r.width);   }/***************************************************************/static void TabEdit_ApplyTabAttrValues(TabEditDlg *info){    int     numPanels;    int     whichPanel;    int     textLength;    char    *text = 0;    int     visible;    int     dimmed;    int     bgColor;    GetNumListItems (info->tabAttrsPanel, TAB_ATTRS_WHICHTAB, &numPanels);    if (numPanels > 0)          {        GetCtrlVal(info->tabAttrsPanel, TAB_ATTRS_WHICHTAB, &whichPanel);        GetCtrlAttribute (info->tabAttrsPanel, TAB_ATTRS_LABELTEXT, ATTR_STRING_TEXT_LENGTH, &textLength);        text = (char *)malloc(textLength+1);        GetCtrlVal (info->tabAttrsPanel, TAB_ATTRS_LABELTEXT, text);        GetCtrlVal (info->tabAttrsPanel, TAB_ATTRS_VISIBLE, &visible);        GetCtrlVal (info->tabAttrsPanel, TAB_ATTRS_LABELBGCOLOR, &bgColor);        GetCtrlVal (info->tabAttrsPanel, TAB_ATTRS_DIMMED, &dimmed);        EasyTab_SetTabAttribute(info->panel, info->tabCtrl, whichPanel, ATTR_EASY_TAB_LABEL_TEXT, text);        EasyTab_SetTabAttribute(info->panel, info->tabCtrl, whichPanel, ATTR_EASY_TAB_VISIBLE, visible);        EasyTab_SetTabAttribute(info->panel, info->tabCtrl, whichPanel, ATTR_EASY_TAB_LABEL_BG_COLOR, bgColor);        EasyTab_SetTabAttribute(info->panel, info->tabCtrl, whichPanel, ATTR_EASY_TAB_DIMMED, dimmed);        free(text);        }}/***************************************************************/static int TabEdit_Apply(TabEditDlg *info){    int     error = 0;    int     buttonPos;    int     stretch;    int     gap;    int     color;    char    metaFont[256];    Rect    r;    int     whichBounds;    int     activePanel;    int     numItems;    int     visible;    GetNumListItems(info->tabsPanel, TABS_ACTIVE, &numItems);    if (numItems > 0)        {        GetCtrlVal (info->tabsPanel, TABS_ACTIVE, &activePanel);        EasyTab_SetAttribute(info->panel, info->tabCtrl, ATTR_EASY_TAB_ACTIVE_PANEL, activePanel);        }    GetCtrlVal (info->tabsPanel, TABS_BUTTONPOS, &buttonPos);    errChk( EasyTab_SetAttribute(info->panel, info->tabCtrl, ATTR_EASY_TAB_ORIENTATION, buttonPos));    GetCtrlVal (info->tabsPanel, TABS_STRETCH, &stretch);    errChk( EasyTab_SetAttribute(info->panel, info->tabCtrl, ATTR_EASY_TAB_STRETCH_TO_FIT, stretch));    GetCtrlVal (info->tabsPanel, TABS_GAP, &gap);    errChk( EasyTab_SetAttribute(info->panel, info->tabCtrl, ATTR_EASY_TAB_BTN_GAP_SIZE, gap));    GetCtrlVal (info->fontPanel, FONT_COLOR, &color);    errChk( EasyTab_SetAttribute(info->panel, info->tabCtrl, ATTR_EASY_TAB_LABEL_COLOR, color));    GetCtrlVal (info->fontPanel, FONT_METAFONT, metaFont);    errChk( EasyTab_SetAttribute(info->panel, info->tabCtrl, ATTR_EASY_TAB_META_FONT, metaFont));        TabEdit_ApplyTabAttrValues(info);        GetCtrlVal(info->boundsPanel, BOUNDS_TOP, &r.top);    GetCtrlVal(info->boundsPanel, BOUNDS_LEFT, &r.left);    GetCtrlVal(info->boundsPanel, BOUNDS_HEIGHT, &r.height);    GetCtrlVal(info->boundsPanel, BOUNDS_WIDTH, &r.width);          GetCtrlVal(info->boundsPanel, BOUNDS_WHICHBOUNDS, &whichBounds);    EasyTab_SetBounds(info->panel, info->tabCtrl, whichBounds, r);          GetCtrlVal (info->tabsPanel, TABS_VISIBLE, &visible);    EasyTab_SetAttribute(info->panel, info->tabCtrl, ATTR_EASY_TAB_VISIBLE, visible);            TabEdit_UpdateValues(info);Error:    return error;}/***************************************************************/int CVICALLBACK SetFontCallback (int panel, int control, int event, void *callbackData, int eventData1, int eventData2){    TabEditDlg  *info;       char        metaFont[256];    char        newMetaFont[256];    int         bold, underline, strikeout, italic, size;    char        typeface[256];        GetChainedCallbackData (panel, control, TAB_EDIT_TYPE, (void *)&info);    switch (event)        {        case EVENT_COMMIT:            GetCtrlVal (panel, FONT_METAFONT, metaFont);            GetMetaFontInfo(metaFont, typeface, &bold, &underline, &strikeout, &italic, &size);            if (FontSelectPopup ("Select Tab Font", "Sample Text", 0, typeface, &bold,                             &underline, &strikeout, &italic, 0, 0, &size, 6, 48, TRUE, TRUE) > 0)                {                if (IsMetaFont(typeface))                    SetCtrlVal (panel, FONT_METAFONT, typeface);                else                    {                    sprintf(newMetaFont, "%s %d", TAB_EDIT_METAFONT_NAME, gMetaFontSuffix);                    gMetaFontSuffix++;                    CreateMetaFont (newMetaFont, typeface, size, bold, italic, underline, strikeout);                    SetCtrlVal (panel, FONT_METAFONT, newMetaFont);                    }                }            break;        }    return 0;}/***************************************************************/int CVICALLBACK AutoSizeCallback (int panel, int control, int event, void *callbackData, int eventData1, int eventData2){    TabEditDlg  *info;       GetChainedCallbackData (panel, control, TAB_EDIT_TYPE, (void *)&info);    switch (event)         {        case EVENT_COMMIT:            EasyTab_AutoSize(info->panel, info->tabCtrl);            TabEdit_UpdateBoundsDisplay(info);            TabEdit_UpdateUserSpecifiedBounds(info);            break;        }    return 0;}/***************************************************************/int CVICALLBACK TabEdit_OKCallback (int panel, int control, int event, void *callbackData, int eventData1, int eventData2){    TabEditDlg  *info;       GetChainedCallbackData (panel, control, TAB_EDIT_TYPE, (void *)&info);    switch (event)         {        case EVENT_COMMIT:            TabEdit_Apply(info);            ProcessSystemEvents();  /* avoid unneeded flashing */            TabEdit_Discard(info);            break;        }    return 0;}/***************************************************************/int CVICALLBACK TabEdit_CancelCallback (int panel, int control, int event, void *callbackData, int eventData1, int eventData2){    TabEditDlg  *info;       GetChainedCallbackData (panel, control, TAB_EDIT_TYPE, (void *)&info);        switch (event)        {        case EVENT_COMMIT:            TabEdit_Discard(info);            break;        }    return 0;}/***************************************************************/int CVICALLBACK TabEdit_ApplyCallback (int panel, int control, int event, void *callbackData, int eventData1, int eventData2){    TabEditDlg  *info;       GetChainedCallbackData (panel, control, TAB_EDIT_TYPE, (void *)&info);    switch (event)        {        case EVENT_COMMIT:            TabEdit_Apply(info);            break;        }    return 0;}/***************************************************************/int CVICALLBACK WhichBoundsCallback (int panel, int control, int event, void *callbackData, int eventData1, int eventData2){    TabEditDlg  *info;       GetChainedCallbackData (panel, control, TAB_EDIT_TYPE, (void *)&info);    switch (event)         {        case EVENT_COMMIT:            TabEdit_UpdateUserSpecifiedBounds(info);            break;        }    return 0;}/***************************************************************/int CVICALLBACK WhichTabCallback (int panel, int control, int event, void *callbackData, int eventData1, int eventData2){    TabEditDlg  *info;       GetChainedCallbackData (panel, control, TAB_EDIT_TYPE, (void *)&info);    switch (event)        {        case EVENT_COMMIT:            TabEdit_UpdateTabAttrValues(info);            break;        }    return 0;}

⌨️ 快捷键说明

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