hhrong8 发表于 2007-5-29 11:26:46

Ring下拉菜单放在TAB中出问题了

把Ring下拉菜单放在TAB上以后,使用GetCtrlVal函数取Ring选项值(*.h文件上的#define自动更改了),当程序执行到GetCtrlVal时报错,GetCtrlVal返回的是负数.未放到TAB之前是没问题的.不知道是什么原因...

*.h文件不知道有没有问题,把Ring加到TAB以后的*.h文件如下:

   /* Panels and Controls: */

#definePANEL2                        1       /* callback function: CVI_Config_CMD */
#definePANEL2_DECORATION            2
#definePANEL2_COMMANDBUTTON            3       /* callback function: CVI_OK_CND */
#definePANEL2_COMMANDBUTTON_2         4       /* callback function: CVI_Quit_CMD */
#definePANEL2_RINGbaudRate             5
#definePANEL2_TAB                      6

#defineTABPANEL_RINGCOMPort               2
#defineTABPANEL_NUMdevDCPower          3
#defineTABPANEL_NUMdevDigitalOSC         4
#defineTABPANEL_NUMdevElecLoad         5

调用函数如下:
int COMPort;
GetCtrlVal(panel,TABPANEL_RINGCOMPort,&COMPort);
上面函数报错.
但下面这个函数是可以的
int BaudRate;
GetCtrlVal(panel,PANEL2_RINGbaudRate ,&BaudRate);
不知道是什么原因,指教...

sunshuai03 发表于 2007-5-29 18:45:12

放在tab之后,第一个参数就不能用panel了,tab属于子panel,需要先得到tab的某个panel的handle,可以参考下面这个
                        GetPanelHandleFromTabPage (mainPanel, MAIN_PANEL_MAIN_TAB, 2, &tabpanel1);
        查一下GetPanelHandleFromTabPage就可以了。:)

hhrong8 发表于 2007-5-30 09:19:13

Thankyou to sunshuai03

使用了GetPanelHandleFromTabPage 函数以后,可以正确读取/设置ring的值,谢谢sunshuai03的帮助...
页: [1]
查看完整版本: Ring下拉菜单放在TAB中出问题了