关于gui参数传递之“怪现象”
请高手指点:我做了两个窗口,一个主,另一个被主调用,并向主窗口中传递参数,第二个窗口有一个text控件(tag属性为:edit1),通过w=get(findobj('tag','edit1'))得到其值,并把他定义成全局变亮(global w),在主窗口中同样存在一个text(tag属性为:edit1)控件用于显示所得到的w值,通过一个按钮控件控制他的 显示;
现象:
在按钮控件中通过语句 set(findobj('tag','edit1'),'string',w),来显示text内容,此时如果传递的参数w=5,显示正常。
但是当对w进行 运算操作时就显示不正常了,比如:set(findobj('tag','edit1'),'string',w*2),则显示为106,比正确值大了10.6倍,不知道这是为什么?
[ 本帖最后由 eight 于 2007-12-13 10:59 编辑 ] 还有就是 如果输入的 数大于等于10的话,同样用set(findobj('tag','edit1'),'string',w*2),
程序就显示出错:
Warning: Single line Edit Controls can not have multi-line text.
这又是什么原因??
[ 本帖最后由 eight 于 2007-12-13 10:58 编辑 ] 原帖由 liuhui1983 于 2007-12-13 10:31 发表 http://www.chinavib.com/forum/images/common/back.gif
请高手指点:
我做了两个窗口,一个主,另一个被主调用,并向主窗口中传递参数,第二个窗口有一个text控件(tag属性为:edit1),通过w=get(findobj('tag','edit1'))得到其值,并把他定义成全局变亮(global w), ...
看不懂 原帖由 liuhui1983 于 2007-12-13 10:34 发表 http://www.chinavib.com/forum/images/common/back.gif
还有就是 如果输入的 数大于等于10的话,同样用set(findobj('tag','edit1'),'string',w*2),
程序就显示出错:
Warning: Single line Edit Controls can not have multi-line text.
这又是什么原因??
edit控件的多行显示问题,请版面搜索一下 我的问题是从第二个窗口传回来的数如果直接显示在第一个窗口的text控件上的话是正确的 ,
但当对传回来的数进行计算操作时,比如让这个传回来的数乘以2之后再显示在第一个窗口的text控件上时,结果就不正确了,这是什么 原因? 问题解决了 ,原来我传回来的是字符串,如果在进行运算操作的话是对字符串进行运算操作,而不是对其中的数字进行操作,哈哈 用str2num进行转换一下就可以了,嘿嘿:loveliness: 谢谢LZ回来共享:)
页:
[1]