wzx304 发表于 2006-4-25 18:43:26

[求助]简单程序求助

我想在TAB中显示输入的数据,现在的问题是在TAB1中没有显示,请教高手指教,文件很小。谢谢

cpubbs 发表于 2006-4-25 20:01:42

上一贴我试过了,的确有问题,我试过很久,我现在会再试试,相信是可以解决的!我也想不通!可能是像上一次一样,方法不对,俺CVI也不是太熟,一起学习!

easons 发表于 2006-4-25 21:57:24

解决了,详细解释看我的博客http://easons.blogbus.com/index.html
[此贴子已经被作者于2006-4-25 14:17:05编辑过]

cpubbs 发表于 2006-4-25 22:34:45

我原来试的时候不会这个东西,原来要用到了TAB里面的获取面板HANDLE的,呵呵!谢谢兄弟指教!我一直觉得奇怪,第一个TAB里面的可以,第二页的就不行了,实在是郁闷!不知道有没有方法可以不用获取TAB的每一页的HANDLE也能实现的呢?

cpubbs 发表于 2006-4-27 00:21:59

不要感谢我,我也不懂这个问题,哈哈,我们是同一条线上开始学的,应该感谢我们的版主才对!

wzx304 发表于 2006-4-26 07:43:46

非常感谢版主和CPUBBS,这个问题把我的毕业设计拖了快20多天了,我都快放弃了,对于我这样的初学者来说,一些实际中的小问题老是解决不了,再次感谢。希望论坛越办越好。

hotpower 发表于 2007-4-4 01:19:52

我是菜鸟,学习后改编了一下,有些问题请教

1.不知本坛如何上传文件.
所以改编的例程代码在:http://www.ednchina.com/blog/hotpower/20556/message.aspx
2.用什么办法得到TAB表中PAGE页中某个控件的ID???



以下是我改编的部分:
1.修改了XIANSHICALLBACK()
int CVICALLBACK XIANSHICALLBACK (int panel, int control, int event,
                void *callbackData, int eventData1, int eventData2)
{
        int TabPageNum;
        int tabpanel;
        double value;
        switch (event)
        {
                case EVENT_COMMIT:
                  GetCtrlVal (panelHandle, PANEL_SHURU, &value);
                        SetCtrlVal (panelHandle, PANEL_SHUCHU, value);
                        GetActiveTabPage (panelHandle, PANEL_TAB, &TabPageNum);
                        GetPanelHandleFromTabPage (panelHandle, PANEL_TAB, TabPageNum, &tabpanel);
                        switch (TabPageNum) {
                                case 0:
                                        SetCtrlVal (tabpanel, TABPANEL1_SHUCHU, value);
                                        break;
                                case 1:
                                SetCtrlVal (tabpanel, TABPANEL2_SHUCHU, value);
                                        break;
                                case 2:
                                SetCtrlVal (tabpanel, TABPANEL3_SHUCHU, value);
                                        break;
                        }
                        break;
        }
        return 0;
}

2.加TAB的回调函数TABCB()
int CVICALLBACK TABCB (int panel, int control, int event,
                void *callbackData, int eventData1, int eventData2)
{
        int TabPageNum;
        int tabpanel;
        double value;
        switch (event)
        {
                case EVENT_ACTIVE_TAB_CHANGE:
                        TabPageNum = eventData2;//移动后的当前页
                        GetPanelHandleFromTabPage (panelHandle, PANEL_TAB, TabPageNum, &tabpanel);
                        switch (TabPageNum) {
                                case 0:
                                        GetCtrlVal (tabpanel, TABPANEL1_SHUCHU, &value);
                                        break;
                                case 1:
                                GetCtrlVal (tabpanel, TABPANEL2_SHUCHU, &value);
                                        break;
                                case 2:
                                GetCtrlVal (tabpanel, TABPANEL3_SHUCHU, &value);
                                        break;
                        }
                        SetCtrlVal (panelHandle, PANEL_SHURU, 0.0);//输入清零
                        SetCtrlVal (panelHandle, PANEL_SHUCHU, value);//输出为移动后的当前页
                        break;
        }
        return 0;
}

hotpower 发表于 2007-4-5 01:43:02

又进行了改编,这样就全部"自动化"了,只需知道控件序号即可

TAB控件使用例程(修改板)

sunshuai03 发表于 2007-4-10 00:22:27

好,我正在学CVI,就知道论坛里能找到答案,多谢楼主。

cpubbs 发表于 2007-4-10 08:44:32

hotpower 老大,点击贴子右下角的回复就可以上传附件的,呵呵!这样出现的界面和发新贴是一样的!谢谢,呵呵!
页: [1]
查看完整版本: [求助]简单程序求助