VFP,当移动鼠标到表格某一个单元格时怎么获取表格当前值
VFP,当移动鼠标到表格某一个单元格时如何获取表格当前值
VFP,当移动鼠标到表格某一个单元格时如何获取表格当前值,请各位大侠指点,谢谢
------解决方案--------------------
参考 VFP 自带帮助文件中的 AMOUSEOBJ( ) 函数
------解决方案--------------------
PUBLIC oForm
oForm = NEWOBJECT("Form1")
oForm.Show
RETURN
DEFINE CLASS Form1 As Form
Height = 300
Width = 420
Add Object Grid1 As Grid
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 MyMouseMove
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.Grid1.Refresh
thisform.Grid1.SetFocus
thisform.Caption = TRANSFORM(thisform.Grid1.Columns[nRelCol].Text1.Value)
ENDIF
ENDIF
ENDPROC
PROCEDURE Grid1.Init
FOR EACH oColumn IN this.Columns
BINDEVENT(oColumn, "MouseMove", thisform, "MyMouseMove")
ENDFOR
ENDPROC
ENDDEFINE
VFP,当移动鼠标到表格某一个单元格时如何获取表格当前值,请各位大侠指点,谢谢
------解决方案--------------------
参考 VFP 自带帮助文件中的 AMOUSEOBJ( ) 函数
------解决方案--------------------
PUBLIC oForm
oForm = NEWOBJECT("Form1")
oForm.Show
RETURN
DEFINE CLASS Form1 As Form
Height = 300
Width = 420
Add Object Grid1 As Grid
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 MyMouseMove
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.Grid1.Refresh
thisform.Grid1.SetFocus
thisform.Caption = TRANSFORM(thisform.Grid1.Columns[nRelCol].Text1.Value)
ENDIF
ENDIF
ENDPROC
PROCEDURE Grid1.Init
FOR EACH oColumn IN this.Columns
BINDEVENT(oColumn, "MouseMove", thisform, "MyMouseMove")
ENDFOR
ENDPROC
ENDDEFINE