标题:表单中grid 控件使用的问题,求指教
只看楼主
liuxingang28
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:山东济南
等 级:贵宾
威 望:47
帖 子:649
专家分:2156
注 册:2014-2-7
得分:0 
表格的某些操作确实难倒了很多狐友,参考吹版和csyx版的发帖,我做了一下改进,看是否能达到楼主的满意:
程序代码:
CREATE CURSOR tt (F1 C(10), F2 C(10), F3 I)
INSERT INTO tt VALUES ("ABC", "123456", 101)
INSERT INTO tt VALUES ("DEF", "654321", 202)
INSERT INTO tt VALUES ("GHI", "456123", 303)
GO TOP 
of = CREATEOBJECT("form1")
of.show(1)
RETURN

DEFINE CLASS form1 as Form
    ADD OBJECT grid1 as myGrid
    ADD OBJECT text1 as textbox WITH top = 210    && 增加了一个文本框控件,是为了验证活动控件为文本框时,双击表格行是否能切换到单元格
ENDDEFINE

DEFINE CLASS myGrid as Grid 
    AllowCellSelection = .f.
    DblTimes = 0        && 用于判断是否首次双击
    PROCEDURE DblClick
        LOCAL oo as TextBox,aTemp[1]
        AMOUSEOBJ(aTemp)
        oo = aTemp[1]
        IF VARTYPE(oo) = 'O' AND oo.BaseClass = 'Textbox'
            THIS.AllowCellSelection = .t.
            THIS.ReadOnly = .f.
            oo.Parent.SelectOnEntry = .f.        && 首次双击时不选择单元格,保持与再次双击时效果一致
            oo.SetFocus
        ENDIF
    ENDPROC
    PROCEDURE AfterRowColChange(nColIndex)
        IF THIS.DblTimes != 0
            THIS.AllowCellSelection = .f.
        ENDIF
        THIS.DblTimes = 1  
    ENDPROC
    PROCEDURE When
        THIS.DblTimes = 0    && 表格获得焦点时,初始化双击标识
    ENDPROC
ENDDEFINE

泉城飞狐
2022-09-21 11:36
厨师王德榜
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:183
帖 子:942
专家分:4724
注 册:2013-2-16
得分:0 
回复 21楼 liuxingang28
老司机出马果然非同凡响.
2022-09-21 11:56
liuxingang28
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:山东济南
等 级:贵宾
威 望:47
帖 子:649
专家分:2156
注 册:2014-2-7
得分:0 
回复 22楼 厨师王德榜
哈哈哈!估计关注VFP的都是老司机,胡子都白了,过几年要退休了

泉城飞狐
2022-09-21 12:03
huowang
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2019-5-17
得分:0 
谢谢大家
2022-10-14 16:24
schtg
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:https://t.me/pump_upp
等 级:贵宾
威 望:67
帖 子:1355
专家分:2534
注 册:2012-2-29
得分:0 
回复 21楼 liuxingang28
@泉城飞狐,高!谢谢!
2022-10-15 05:38
a_bel
Rank: 1
来 自:China
等 级:新手上路
威 望:2
帖 子:24
专家分:9
注 册:2006-2-28
得分:0 
将焦点移出再设置回来,试试
2022-12-06 21:41



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




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

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