| 网站首页 | 业界新闻 | 小组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
ADSL如何秒变专线,公网IP盒子了解一下千里之行 始于足下
共有 255 人关注过本帖
标题:怎样使文本框的内容全部被选中
只看楼主 加入收藏
fanjinyu9108
Rank: 2
等 级:论坛游民
帖 子:330
专家分:10
注 册:2014-1-16
结帖率:90.74%
  已结贴   问题点数: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
但是效果不行,论坛的师傅能否帮我看下,下面是我的文件
附件: 您没有浏览附件的权限,请 登录注册
搜索更多相关主题的帖子: 文本框 内容 全部 选中 THIS 
2019-07-17 13:33
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:203
帖 子:6657
专家分:29361
注 册:2014-5-20
  得分:10 
通常设置SelectOnEntry=.T.就可以,当移动焦点到文本框时会选定全部。
单击文本框时就选定全部,这时要想编辑其中某些内容就不方便了,其实只要双击就可以选定全部。
确要单击选定全部,这样试试:
1、设置属性:
    SelectOnEntry = .T
2、Click事件:
    PROCEDURE Click
        this.SetFocus
    ENDPROC
2019-07-17 14:26
xuminxz
Rank: 8Rank: 8
等 级:贵宾
威 望:10
帖 子:307
专家分:882
注 册: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
等 级:论坛游民
帖 子:330
专家分:10
注 册:2014-1-16
  得分:0 
非常感谢吹水佬师傅和xuminxz师傅的解答,2种方法都可行,正是我想要的结果,我先采用吹水佬师傅的方法。
2019-07-17 17:16







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

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