Dim iTemp as integer
strColPos = 0
strRowPos = 0
iTemp = 0
SQAGetProperty strObject ,"Columns.Count", iCount
if iCount <> 0 then
Redim ColWidth(iCount - 1)
While iTemp < iCount
iResult = SQAGetProperty (strObject, "Columns.Items(" + CStr(iTemp) +").Width",iWidth)
ColWidth(iTemp) = iWidth
iTemp = iTemp + 1
wend
End if
strColPos = 20
if CInt(strCol) <> 1 then
for iTemp = 1 to CInt(strCol)-1
strColPos = strColPos+ ColWidth(iTemp-1)
next iTemp
End if
for iTemp = 1 to CInt(strRow)
strRowPos = 24 +strRowPos
next iTemp
strCor = "Coords=" & strColPos &","+CStr(strRowPos)
GenericObject Click, strObject, strCor
InputKeys strValue
stop
strCor = "Coords=" & strColPos &","+CStr(strRowPos + 24)
GenericObject Click, strObject, strCor
End Sub
MILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">上编写的还有很多疏漏的地方,对于浮动文本框赋值成功,却无法改动tdbgrid中的值没有深入研究,该函数在实际应用中还有个小问题,没有做到很完全“周到“ ,下回有时间改正。
备注:
最后我把代码进行优化和扩展,开发了针对grid的相关函数,下边是其中之一
//得到列数
Function GetColCount(sGridRecogStr as String) as Integer
Dim Result as Integer
Dim vValue as Variant
Dim sLogMessage as String
Dim sErrorMessage as String
grdGetRowCount = -1
Result = SQAGetProperty(sGridRecogStr, "Column.Count", vValue)
If Result = sqaSuccess Then
GetRowCount = CInt(vValue)
Else
sLogMessage = "无法得到Grid的列数”
sErrorMessage = "[" & CStr(Result) & " = " & Error(Result) &"]"
SQALogMessage sqaFail, sLogMessage, sErrorMessage
End If
End Function
就到这里吧。