| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1587 人关注过本帖
标题:焦点转移问题
只看楼主 加入收藏
mzn1989518
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2010-5-17
结帖率:33.33%
收藏
已结贴  问题点数:20 回复次数:11 
焦点转移问题
焦点转移问题
在VFP中遇到很多次焦点,没有按照我理想中的走向.
例如:我知道控件失去焦点的同时,不能又获得焦点.虽然我的本意是让文本框TEXT1敲回车后,焦点回到文本框里.但我不明白为什么,所以来请教下论坛里的前辈.
虽然侥幸达到了自己的要求,但是下次我要是想让焦点转移到grid2,那又该怎么办呢?
例如这个例子,一个文本框,两个表格,文本框敲回车后,又回到了自身,是不是GRID2获得焦点后,自动转移到下一个控件呢?
上传不了图片,空间如下:文本框TEXT1,表格GRID1,GRID2,TAB顺序为text1,gird1,grid2
我代码写下
TEXT1的InteractiveChange为:
thisform.grid1.recordsource=""
select * from 5yue where 处理编号=alltrim(this.value) order by 商品编号 into cursor temp
thisform.grid1.recordsource="temp"
thisform.grid2.recordsource="temp"
thisform.refresh

TEXT1的KeyPress为:
LPARAMETERS nKeyCode, nShiftAltCtrl
if nKeyCode=127 and this.selstart=0 and this.sellength=0
    nodefault
endif
if nKeyCode=13
    thisform.grid2.setfocus
this.value=""

endif

求指教:为啥敲回车后,焦点自动回到文本框.
又例如:thisform.grid2.setfocus,改为:thisform.grid1.setfocus后,
grid1获得焦点,grid2也获得焦点呢?




[ 本帖最后由 mzn1989518 于 2015-7-11 23:11 编辑 ]
搜索更多相关主题的帖子: 文本框 图片 空间 
2015-07-11 23:05
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43182
注 册:2014-5-20
收藏
得分:5 
想焦点在哪个控件上,就调用哪个控件的 SetFocus 方法。
2015-07-11 23:10
mzn1989518
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2010-5-17
收藏
得分:0 
版主你好,你看代码,我让grid2获得了焦点,理论上焦点应该停留在grid2上,但为啥又回到文本框了呢?
2015-07-11 23:19
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:5 
表格设置焦点有特殊性,要先设置表格为焦点,再设置表格中的某列中的控件为焦点。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2015-07-12 06:10
mzn1989518
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2010-5-17
收藏
得分:0 
回复 4楼 hu9jj
先表格获得焦点,再column1.text1.setfocus
学习了。
那班主,你再看看我问的问题,指教下,为啥定位焦点GRID2后,焦点自动转到文本框了呢?

本来想这么问的,忽然想到了原因,是不是thisform.grid2.setfocus,表格获得了焦点,然后不停留,自动转向下一个控件呢?
2015-07-12 07:38
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:5 
SetFocus=.t.
2015-07-12 07:40
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43182
注 册:2014-5-20
收藏
得分:0 
TEXT1的KeyPress为:
LPARAMETERS nKeyCode, nShiftAltCtrl
if nKeyCode=127 and this.selstart=0 and this.sellength=0
    nodefault
endif
if nKeyCode=13         && 这里有个回车动作
    thisform.grid2.setfocus
    this.value=""
endif
2015-07-12 16:57
mzn1989518
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2010-5-17
收藏
得分:0 
回复 6楼 tlliqi
不明白,请多多解释下。
2015-07-12 21:15
mzn1989518
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2010-5-17
收藏
得分:0 
回复 7楼 吹水佬
真的非常感谢您和论坛的版主了。半年来都快一年了,一直不明白文本框和表格的焦点问题,以前都是差焦点的话,就再调用下一个或者上一个控件的焦点来实现我的目的。
版主的一个&&说明,让我电脑上实验了下,加入了nodefault后,焦点一直按理想的方向走动。
因thisform.grid2.setfocus获得焦点后,语句执行完毕后,还要执行“回车命令”,所以焦点自动跳到下一个控件上呢?因为grid2后没有控件了所以Tab顺序第一的文本框又重新获得了焦点。
您看我理解的对吗?
2015-07-12 21:39
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43182
注 册:2014-5-20
收藏
得分:0 
是的,默认状态编辑时按回车焦点就到下一个对象位置。
2015-07-12 21:44
快速回复:焦点转移问题
数据加载中...
 
   



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

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