当然不对,看下面的代码:
************************
'名称 s_SetPosition
'作者 Morn 于 2001.4.14
'功能 设定与flexgrid相连的控件的位置
'参数 oobj,需设定位置的控件对象;Oflgs,flexgrid控件对象,BisCombobox ,是否组合框,false ,文本框,true 组合框
*************************
Sub sub_SetPosition(oObj As Object, oFlg As MSFlexGrid, Optional bIsCombobox = False)
Dim i
With oFlg
oObj.Top = .Top + .CellTop + 20
oObj.Left = .Left + 20
For i = 0 To .Col - 1
oObj.Left = oObj.Left + .ColWidth(i)
Next i
oObj.Width = .ColWidth(.Col) - 20
oObj.Visible = True
oObj.SetFocus
End With
End Sub
************************
'名称 s_SetPosition
'作者 Morn 于 2001.4.14
'功能 设定与flexgrid相连的控件的位置
'参数 oobj,需设定位置的控件对象;Oflgs,flexgrid控件对象,BisCombobox ,是否组合框,false ,文本框,true 组合框
*************************
Sub sub_SetPosition(oObj As Object, oFlg As MSFlexGrid, Optional bIsCombobox = False)
Dim i
With oFlg
oObj.Top = .Top + .CellTop + 20
oObj.Left = .Left + 20
For i = 0 To .Col - 1
oObj.Left = oObj.Left + .ColWidth(i)
Next i
oObj.Width = .ColWidth(.Col) - 20
oObj.Visible = True
oObj.SetFocus
End With
End Sub
Public Declare Function ScreenToClient Lib "user32" (ByVal hwnd As Long, lpPoint As POINTAPI) As Long
用这两个api控制吧,绝对准确