| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2901 人关注过本帖
标题:怎样使文本框的内容全部被选中
只看楼主 加入收藏
fanjinyu9108
Rank: 2
等 级:论坛游民
帖 子:651
专家分:20
注 册:2014-1-16
结帖率:88.6%
收藏
已结贴  问题点数: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
等 级:版主
威 望:451
帖 子:10539
专家分:42927
注 册: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
等 级:贵宾
威 望:41
帖 子:763
专家分:2503
注 册: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
等 级:论坛游民
帖 子:651
专家分:20
注 册:2014-1-16
收藏
得分:0 
非常感谢吹水佬师傅和xuminxz师傅的解答,2种方法都可行,正是我想要的结果,我先采用吹水佬师傅的方法。
2019-07-17 17:16
快速回复:怎样使文本框的内容全部被选中
数据加载中...
 
   



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

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