怎样获得控件NUMERIC当前default value.
怎样获得控件NUMERIC当前 defaultvalue,然后在TEXT MESSAGE中显示出来,GetCtrlAttribute (panelHandle,PANEL_NUMERIC_16, ATTR_DFLT_VALUE, &value);Fmt(str,"%s",value);
SetCtrlVal(panelHandle6,PANEL_5_TEXTMSG_3,str);
我用这样做,语法没错,但是不能在TEXT MESSAGE中显示出来,运行时出错, 错误如下: NON-FATAL RUN-TIME ERROR: "3839.c", line 284, col 22, thread id 0x000000C8: Parameter type incompatible with format specifier.
我前面把value定义成duobe,我不知道是怎么回事?请指教!!! 这是由于Fmt函数数据类型不匹配而造成的。
如果Numeric控件的默认数据类型为double,则定义:
double value;
char str; /*字符串长度根据你要显示的最大数据长度而设(含小数点)*/
改变Fmt函数如下:
Fmt(str,"%s<%f",value);
。。。。。。
就可以通过了!其他数据类型请参看help。
祝你好运!
[ 本帖最后由 netcreature 于 2008-10-8 11:52 编辑 ] 谢谢版主了,调试成功了!!!
还有个问题,我这有个小项目是这样的,我的目地是当鼠标左单击主界面上的两个NUMERIC中的任意一个时,弹出一个数字键盘,然后单击数字键盘上的0、1、2~9可以在上面的STRING中显示出来,而“退格”“取消”键也有相应的功能,以便可以在触摸平板电脑上直接输入需要的数值。请问版主有没做过类似的程序?有什么例子或建议之类的?因为我看到很多工业上的上位机程序都要用到这一个功能,这样很方便设定数值。
(具体程序在附件上) 这方面的东西我没有做过,不过看了你的说明,我觉得你可以参考我上传的:王建新《LabWindows/CVI测试技术及工程应用》例程第三章源码中计算器的例程,我想它对你会比较有用。http://www.cpubbs.com/bbs/thread-59010-1-1.html。
祝你好运! 非常感谢!!!
页:
[1]