我查到API函数,解决此问题:Private Declare Function GetWindowPlacement Lib "user32" (ByVal hwnd As Long, lpwndpl As WINDOWPLACEMENT) As LongPrivate Type POINTAPI X As Long Y As LongEnd TypePrivate Type RECT Left As Long Top As Long Right As Long Bottom As Long End TypePrivate Type WINDOWPLACEMENT Length As Long flags As Long showCmd As Long ptMinPosition As POINTAPI ptMaxPosition As POINTAPI rcNormalPosition As RECT End Type '//******************** Private Sub ReComputer() Dim objC As WINDOWPLACEMENT
定义两个变量 定义到form的resize中
a=控件.left
b=控件.top
X As Long
Y As LongEnd TypePrivate Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End TypePrivate Type WINDOWPLACEMENT
Length As Long
flags As Long
showCmd As Long
ptMinPosition As POINTAPI
ptMaxPosition As POINTAPI
rcNormalPosition As RECT
End Type
'//********************
Private Sub ReComputer()
Dim objC As WINDOWPLACEMENT
GetWindowPlacement UserControl.hwnd, objC iTop = objC.rcNormalPosition.Top * 15
iLeft = objC.rcNormalPosition.Left * 15
Me.Top = iTop
Me.Left = iLeft
End Sub此时的iTop及iLeft即为需求值;