求GridHitTes使用例子解决思路

求GridHitTes使用例子
如题求GridHitTes使用例子
------解决方案--------------------
*
* Grid表格中移动鼠标获取指向单元格数据
*
PUBLIC oForm
oForm = NEWOBJECT("Form1")
oForm.Show
RETURN

DEFINE CLASS Form1 As Form
    Height = 300
    Width  = 420
    AutoCenter = .T.

    Add Object Grid1 As Grid WITH AllowCellSelection=.F.
        
    PROCEDURE Load
        CREATE CURSOR TEMP (F1 C(10), F2 C(10), F3 I)
        INSERT INTO TEMP VALUES ("ABC", "123456", 101)
        INSERT INTO TEMP VALUES ("DEF", "654321", 202)
        INSERT INTO TEMP VALUES ("GHI", "456123", 303)
        INSERT INTO TEMP VALUES ("JKL", "789456", 404)
        INSERT INTO TEMP VALUES ("NMO", "123789", 505)
        GO TOP 
    ENDPROC

    PROCEDURE _MouseMove
        LPARAMETERS nButton, nShift, nXCoord, nYCoord
        LOCAL nWhere, nRelRow, nRelCol
        nWhere  = 0
        nRelRow = 0
        nRelCol = 0

        IF thisform.Grid1.GridHitTest(nXCoord, nYCoord, @nWhere, @nRelRow, @nRelCol)
            IF nWhere == 3    && 单元格
                thisform.Grid1.ActivateCell(nRelRow, nRelCol)
                    * 显示单元格数据
                thisform.Caption = TRANSFORM(thisform.Grid1.Columns[nRelCol].Text1.Value)
            ENDIF
        ENDIF
    ENDPROC

    PROCEDURE Grid1.Init
        this.setall("alignment", 2, "column")
        this.HighlightBackColor = this.BackColor
        this.HighlightForeColor = this.ForeColor
        BINDEVENT(this, "MouseMove",  thisform, "_MouseMove")
    ENDPROC
ENDDEFINE

------解决方案--------------------
函数通过"输出参数"将数据返回给调用他的过程,用变量的地址传送,VFP用@表示。