标题:最右边开始写数据?
只看楼主
asdf_123000
Rank: 4
等 级:业余侠客
威 望:1
帖 子:262
专家分:203
注 册:2012-12-20
得分:0 
需要的形式就象小计算器,输入数字总是在最右边第1格,显示总是往左伸长.
10楼的办法很好,但还是不行,那位行家能指点一下吗。
2012-12-21 22:22
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 




[ 本帖最后由 TonyDeng 于 2012-12-22 04:44 编辑 ]

授人以渔,不授人以鱼。
2012-12-22 04:43
qjbzjp
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:尧的故乡
等 级:贵宾
威 望:48
帖 子:1914
专家分:4397
注 册:2007-3-14
得分:0 
对于数值型,楼主应该知道转换:this.SelStart =LEN(STR(this.Value))


先设置文本框的Alignment=1、SelectOnEntry=.f.
文本框的SetFocus事件里:
this.SelStart =LEN(STR(this.Value))
如果想单击文本框时也要这样效果,那么在Click事件里也加入相应的代码:
this.SelStart =LEN(STR(this.Value))

相互学习,互相交流,共同提高。
2012-12-22 08:16
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
得分:0 
回复 12楼 TonyDeng
这个适合
2012-12-22 08:58
asdf_123000
Rank: 4
等 级:业余侠客
威 望:1
帖 子:262
专家分:203
注 册:2012-12-20
得分:0 
13楼的方法,可能在我的电脑实现不了.

我是这样作的:
先设置文本框的Alignment=1、SelectOnEntry=.f.
文本框的SetFocus事件里:
this.SelStart =LEN(STR(this.Value))  && 文本框是设为0.00的
在Click事件里也加入相应的代码:
this.SelStart =LEN(STR(this.Value))

结果:
点击框时,显示为“    I         0.00”            
说明:“”为框内显示,前面的I即为鼠标,后面为0.00,任你点击多少次,放弃鼠标键,鼠标位置就回到了图中I的位置。
 
输入12,框显示为“    12I       0.00”   
说明:“”为框内显示,前面的I即为鼠标,后面为0.00,中间为正在输入的数字,达不到从最右边第1格输入数据的要求。是不是哪里还有错?





2012-12-22 09:07
月沐庭轩
Rank: 9Rank: 9Rank: 9
来 自:京城
等 级:贵宾
威 望:17
帖 子:393
专家分:1106
注 册:2011-7-24
得分:0 
回复 12楼 TonyDeng
T版的意思是,可以用多个文本框来模拟一个文本框?这个确实可以实现。

坚持学习vfp,QQ:306805680
2012-12-22 09:56
qjbzjp
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:尧的故乡
等 级:贵宾
威 望:48
帖 子:1914
专家分:4397
注 册:2007-3-14
得分:0 
把文本框的InputMask属性也设置为format属性一样:9.99试试。

相互学习,互相交流,共同提高。
2012-12-22 10:00
asdf_123000
Rank: 4
等 级:业余侠客
威 望:1
帖 子:262
专家分:203
注 册:2012-12-20
得分:0 
问题回答:“可以用多个文本框来模拟一个文本框?”,不是的,就是一个框输数据。

问题回答:“把文本框的InputMask属性也设置为format属性一样:9.99试试。”,结果能回到最右边,即0.00I,(0.00后面的I为鼠标),但仍存在两个问题:
          1、任意输入一个数字,光标离开文本框,走了,移到了下个TABindex控件?
          2、“9.99”加长到7个整数9,即9999999.99问题,但从第8个整数9开始,每加一位,光标往左移一位,到12个整数9,光标完全离开了0.00.

不知还可怎么改进?
2012-12-22 10:28
qjbzjp
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:尧的故乡
等 级:贵宾
威 望:48
帖 子:1914
专家分:4397
注 册:2007-3-14
得分:0 
把表单传上来吧,纸上谈兵难以解决问题。

相互学习,互相交流,共同提高。
2012-12-22 11:33
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:396
帖 子:11713
专家分:43267
注 册:2006-5-13
得分:0 
其实在文本框得到焦点时选定完全可以解决问题的,因为选定后如果录入字符,其从文本框的最左边开始显示,不会出现自动跳出的。选定的方法楼上在前面已经说过。
如果楼主实在要从右向左显示录入的字符,不妨可以在keyprees事件中捕捉用户按键,然后在文本框显示出来。

活到老,学到老! http://www. E-mail:hu-jj@
2012-12-22 11:46



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-392834-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.295835 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved