标题:鼠标单击文本框时怎样将光标定在文本框最前面?
只看楼主
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
以下是引用liuxingang28在2014-3-19 19:53:43的发言:

在文本框的 GotFocus 事件中输入如下代码:

* 无内容或内容为数值型时,将光标定位到开头
if empty(this.value) or type('this.value') = 'N'
    nodefault
    dodefault()
    this.SelStart = 0
endif
文本框的数据类型不一定是数值型,我认为不需要加以限定或判断。

坚守VFP最后的阵地
2014-03-19 19:58
liuxingang28
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:山东济南
等 级:贵宾
威 望:47
帖 子:649
专家分:2156
注 册:2014-2-7
得分:0 
以下是引用sdta在2014-3-19 19:58:16的发言:

文本框的数据类型不一定是数值型,我认为不需要加以限定或判断。
其实在我的应用程序中,原代码是这样的:

解释:
1.若用户设置了 SelectOnEntry=.t.,当文本框获得焦点时,就选定内容,而不设置插入点
2.当文本框没有内容时(空字符串或0),则判断用户要在文本框中输入内容,此时设置插入点到行首
3.若文本框有内容,则判断用户要修改文本框中的内容,此时不改变插入点
4.在文本框获得焦点时,若不加判断就将插入点设置到行首,我认为不合适。比如:文本框的内容为“Hello world!”,用户想删除后面的“!”,当用户在“!”位置单击时,光标却跑到了行首,这显然不合适。


[ 本帖最后由 liuxingang28 于 2014-3-20 19:11 编辑 ]

泉城飞狐
2014-03-20 19:08
cqdjwp
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-10-21
得分:0 
@liuxingang28  感谢你的回复,学习了。
2021-01-25 12:30



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




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

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