主题:能否用命令控制录入光标在字符串尾部?
QIUSHIZHIDAO
[专家分:0] 发布于 2008-10-25 11:43:00
在表格的一个单元格中有字符,希望该单元格获得焦点时在其字符尾部再加入一些新字符,在加入新字符时,若录入光标正好在原来字符的尾部就可直接加入新字符了。
请问,在一个单元格获得焦点时,能否用命令控制录入光标正好在原有字符串的尾部?
请各位老师赐教!
回复列表 (共5个回复)
沙发
homayzh [专家分:7040] 发布于 2009-03-19 20:29:00
j 是可以的
用
得到焦点时
this.SelStart = allt(this.value)
板凳
xm7050432 [专家分:180] 发布于 2009-03-20 09:12:00
[quote]j 是可以的
用
得到焦点时
this.SelStart = allt(this.value)[/quote]
如果想把起始点设置在最左边是
this.selstart=0?
如果想设置为一个表单新增记录的时候所有的text其实点都是最左边。要怎么设置比较快呢?(我有个表单,里面大概有40几个字段)一个一个设置不是好方法。
请老师赐教,谢谢。
3 楼
jinlonggao [专家分:17130] 发布于 2009-03-20 09:44:00
在AfterRowcolChange事件中写入代码:
LPARAMETERS nColIndex && nColIndex为当前列的序号
with this.columns(nColIndex).text1
.SelStart = LEN(allt(IIF(varTYPE(.value)='N',STR(.value),.value)))
endwith
-----------------------------
上述只考虑了字符型,数值型和备注型字段,如果还涉及到日期型字段,则还需作进一步调整.
4 楼
xm7050432 [专家分:180] 发布于 2009-03-20 10:22:00
[quote]在AfterRowcolChange事件中写入代码:
LPARAMETERS nColIndex && nColIndex为当前列的序号
with this.columns(nColIndex).text1
.SelStart = LEN(allt(IIF(varTYPE(.value)='N',STR(.value),.value)))
endwith
-----------------------------
上述只考虑了字符型,数值型和备注型字段,如果还涉及到日期型字段,则还需作进一步调整.[/quote]
谢谢老师,也许是我说的不清楚,我说的表单是指form,我之所以提出这个问题是因为,同事在修改数值的时候,喜欢用鼠标去点要修改的字段,数值型的字段好像用鼠标点不会自动跑到最左边,字符型不会出现这个问题,所以经常有出现小数点位置出错的情况。
烦请老师再改下代码,同时帮忙指出代码要放在form的什么地方。(这个表单数值型,字符型,日期型都有)谢谢。
5 楼
qjbzjp [专家分:8830] 发布于 2009-03-21 14:09:00
如果N个文本框是连续的,在:三楼代码的基础上,加个循环来设定,在表单的init事件中:
FOR i=1 to N
mytextbox="text"- TRANSFORM(i)
with thisform.&mytextbox.
.SelStart = LEN(ALLTRIM(IIF(varTYPE(.value)="N","",.value)))
endwith
NEXT
我来回复