CVI,labwindows定义
switch(vk){caseVAL_RIGHT_ARROW_VKEY:SetCtrlVal(panelHandle,PANEL_RINGSLIDE_4,++zhuanx...
switch (vk)
{
case VAL_RIGHT_ARROW_VKEY:
SetCtrlVal(panelHandle,PANEL_RINGSLIDE_4,++zhuanxiang);
SetCtrlVal(g_hchild1,PANELcnt_STRING,(double)zhuanxiang);
TCPfasong (b); //这个怎么发送的是问号?
break;
上述是我的程序,报错如下
FATAL RUN-TIME ERROR: "kaifa.c", line 272, col 58, thread id 0x000022CC: Invalid argument type: found 'double', expected 'pointer to char'.
试了很多次就是不知道原因是什么,其中panelHandle是我的主界面,g_hchild1是子界面。请大神帮忙看看程序到底是哪里错误了。 展开
{
case VAL_RIGHT_ARROW_VKEY:
SetCtrlVal(panelHandle,PANEL_RINGSLIDE_4,++zhuanxiang);
SetCtrlVal(g_hchild1,PANELcnt_STRING,(double)zhuanxiang);
TCPfasong (b); //这个怎么发送的是问号?
break;
上述是我的程序,报错如下
FATAL RUN-TIME ERROR: "kaifa.c", line 272, col 58, thread id 0x000022CC: Invalid argument type: found 'double', expected 'pointer to char'.
试了很多次就是不知道原因是什么,其中panelHandle是我的主界面,g_hchild1是子界面。请大神帮忙看看程序到底是哪里错误了。 展开
2个回答
展开全部
Labwindows/CVI8.0是美国NI公司出品的虚拟仪器设计软件,是标准的C语言,加很多功能块构成的,使用很方便。
1、在用Tab键移动光标时,是按照 CVI自动根据.uir文件生成的那个.h文件中定义的控件ID移动的,打开那个.h文件你会看到#define PANEL 1 #define PANEL_…… n(n是整数,为控件ID),光标就是在可被光标选中的控件间按照这个ID顺序循环移动的。
3、初始化时做一下SetCtrlAttribute用ATTR_CTRL_TAB_POSITION属性设置控件,可以定义按TAB键时光标移动顺序。
2、CVI对键盘事件的响应是在面板的回调函数中case EVENT_KEYPRESS:下,该函数的参数eventData1即为键值的组合,vk=eventData1&VAL_VKEY_MASK; 即可得到方向键等虚拟键的键值,具体可参考CVI帮助文档索引EVENT_KEYPRESS
1、在用Tab键移动光标时,是按照 CVI自动根据.uir文件生成的那个.h文件中定义的控件ID移动的,打开那个.h文件你会看到#define PANEL 1 #define PANEL_…… n(n是整数,为控件ID),光标就是在可被光标选中的控件间按照这个ID顺序循环移动的。
3、初始化时做一下SetCtrlAttribute用ATTR_CTRL_TAB_POSITION属性设置控件,可以定义按TAB键时光标移动顺序。
2、CVI对键盘事件的响应是在面板的回调函数中case EVENT_KEYPRESS:下,该函数的参数eventData1即为键值的组合,vk=eventData1&VAL_VKEY_MASK; 即可得到方向键等虚拟键的键值,具体可参考CVI帮助文档索引EVENT_KEYPRESS
展开全部
目测你的zhuanxiang是整型 ,而PANELcnt_STRING这个控件需要字符串
SetCtrlVal最后一个参数就应该传字符串的指针
先搞个字符数组然后把整形转成double后,sprintf到字符数组 里
代码片段举例
char buf[100];
int zhuanxiang = 123;
sprintf(buf, "%.2lf", (double)zhuanxiang);
SetCtrlVal(panelHandle, PANEL_STRING, buf);
SetCtrlVal最后一个参数就应该传字符串的指针
先搞个字符数组然后把整形转成double后,sprintf到字符数组 里
代码片段举例
char buf[100];
int zhuanxiang = 123;
sprintf(buf, "%.2lf", (double)zhuanxiang);
SetCtrlVal(panelHandle, PANEL_STRING, buf);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询