lostger 发表于 2008-10-20 21:38:11

请教:GetCtrlVal(panel, control, &val);是什么意思?

例程中

int CVICALLBACK PlotData (int panel, int control, int event,
                        void *callbackData, int eventData1, int eventData2)
{
    int val, traces, i;
   
    if (event == EVENT_COMMIT) {
      GetCtrlVal(panel, control, &val);
      SetCtrlAttribute (panel, PANEL_TIMER, ATTR_ENABLED, val);
      GetCtrlAttribute(panel, PANEL_CHART, ATTR_NUM_TRACES, &traces);
      for (i=1;i<=traces;i++)
            SetTraceAttribute(panel, PANEL_CHART, i, ATTR_TRACE_LG_VISIBLE, 1);
      }
    return 0;
}

请问GetCtrlVal(panel, control, &val);是什么意思?怎么没有具体的ID呀?
还有 for (i=1;i<=traces;i++)
            SetTraceAttribute(panel, PANEL_CHART, i, ATTR_TRACE_LG_VISIBLE, 1);
有什么作用呀?

[ 本帖最后由 lostger 于 2008-10-20 21:44 编辑 ]

netcreature 发表于 2008-10-21 08:39:48

1、GetCtrlVal(panel, control, &val);获取控件control的设置值,ID(Constant Name)就是control;

2、for (i=1;i<=traces;i++)
            SetTraceAttribute(panel, PANEL_CHART, i, ATTR_TRACE_LG_VISIBLE, 1);
用于将stripchart控件所要显示的曲线(traces等于设定显示的曲线条数)的可见性设置为真,这样就可以在stripchart控件上显示所有曲线。

lostger 发表于 2008-10-21 09:10:03

回复 2# netcreature 的帖子

谢谢斑竹!但是例程中就没有ConstantName为control的控件,况且ConstantName不是都是大写吗?
而且用GetCtrlval时不是PANEL_XXX吗,怎么直接小写control?

[ 本帖最后由 lostger 于 2008-10-21 09:18 编辑 ]

netcreature 发表于 2008-10-21 11:31:04

因为没有看过你的(工程)源代码,是否有名为control的控件就不得而知了;
Constant Name默认为大写,你也可以小写,没有关系。GetCtrlval中的PANEL_XXX是默认产生的,你也可以修改!

lostger 发表于 2008-10-21 16:26:10

回复 4# netcreature 的帖子

呵呵,明白了,谢斑竹了!
页: [1]
查看完整版本: 请教:GetCtrlVal(panel, control, &val);是什么意思?