注册 登录
编程论坛 VFP论坛

求教,关于表格中移动的问题

fanjinyu9108 发布于 2021-10-20 07:29, 1722 次点击
在表格中切换单元格有2种方式,一种是用键盘的上下左右键,一种是鼠标直接点到某个单元格,我想实现的效果是鼠标点击单元格后与用键盘的上下左右键的效果一样,但是我总是达不到效果,我试了好几种代码,都不行,另外,我的表格在表单打开的时候就绑定了数据源,数据源是数字型的。我在text1的click事件中用的代码一是:this.setfocus 代码二是:
程序代码:
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
7 回复
#2
gs25367856782021-10-20 07:46
朋友的理论太深刻,我一时不能理解了
说真的,VFP的表格中,也就是直接用
鼠标点单元格来激活它,其他还能有啥
办法呢?
#3
laowan0012021-10-20 08:28
楼主的意思是不是:点击单元格后,单元格的内容是全选状态?
#4
sam_jiang2021-10-20 08:42
回复 3楼 laowan001
应该是这个意思,呵呵,学编程的语文一定要好。
#5
吹水佬2021-10-20 09:04
text1.SelectOnEntry = .T.

** text1.GotFocus 事件
this.SetFocus
#6
fanjinyu91082021-10-20 21:30
吹水佬老师说得对,
应该忘了设置selectonentry的属性,明天上班试一下
#7
惬意_甬车2021-10-21 08:06
楼主的意思老车的明白,应该是想焦点在GRID表格中即可用上下左右方向键移动,也可用鼠标点击,并且效果相同。多年来老车都是这么整的:
只有本站会员才能查看附件,请 登录

只有本站会员才能查看附件,请 登录

然后你想干啥就在“文书_A111书签”与“文书_B111书签”两个PRG文件里尽情的折腾吧。
#8
fanjinyu91082021-10-21 19:24
甬车师傅的解答不大明白,
但吹水佬老师的解答解决了问题
1