标题:怎样使文本框的内容全部被选中
只看楼主
fanjinyu9108
Rank: 2
等 级:论坛游民
帖 子:644
专家分:20
注 册:2014-1-16
结帖率:88.5%
已结贴  问题点数:20 回复次数:3 
怎样使文本框的内容全部被选中
我想做一个文本框的类,不管文本框是数字还是字符,选中该文本框时,刚好覆盖文本框的内容,应该怎么弄,我写了一个类,但是不行,我主要在文本框的CLICK事件添加如下代码:

THIS.SELSTART=0
myvalue=this.VALUE
DO case
case TYPE('myvalue')='C'
   THIS.SELLENGTH=LEN(myvalue)
case TYPE('myvalue')='N'
   THIS.SELLENGTH=LEN(ALLTRIM(STR(myvalue)))
  
ENDCASE
但是效果不行,论坛的师傅能否帮我看下,下面是我的文件
新建文件夹.rar (3.29 KB)
搜索更多相关主题的帖子: 文本框 内容 全部 选中 THIS 
2019-07-17 13:33
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:10 
通常设置SelectOnEntry=.T.就可以,当移动焦点到文本框时会选定全部。
单击文本框时就选定全部,这时要想编辑其中某些内容就不方便了,其实只要双击就可以选定全部。
确要单击选定全部,这样试试:
1、设置属性:
    SelectOnEntry = .T
2、Click事件:
    PROCEDURE Click
        this.SetFocus
    ENDPROC
2019-07-17 14:26
xuminxz
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:40
帖 子:749
专家分:2475
注 册:2011-5-8
得分:10 
试试看。
程序代码:
 LOCAL fs,n

myvalue=this.value
DO case
case TYPE('myvalue')='C'
THIS.SELSTART=0   
THIS.SELLENGTH=LEN(ALLTRIM(myvalue))
case TYPE('myvalue')='N'
fs=FONTMETRIC(6,this.FontName,this.FontSize)+FONTMETRIC(16,this.FontName,this.FontSize)
fs=fs/2
n=round(this.Width/fs,0)

THIS.SELSTART=n-LEN(STR(myvalue))
THIS.SELLENGTH=LEN(STR(myvalue))
  
ENDCASE
  


[此贴子已经被作者于2019-7-17 15:31编辑过]


dBase有人接盘了。
2019-07-17 15:30
fanjinyu9108
Rank: 2
等 级:论坛游民
帖 子:644
专家分:20
注 册:2014-1-16
得分:0 
非常感谢吹水佬师傅和xuminxz师傅的解答,2种方法都可行,正是我想要的结果,我先采用吹水佬师傅的方法。
2019-07-17 17:16



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




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

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