用width和height获取长、宽的中点,然后在上述的基础上加上去就行了。
你那个问题估计是你没注意他们的单位,getcurpos得到的是像素,而窗体的位置的单位是 缇
1像素=15缇。所以要乘以十五。
Option Explicit
Private Type POINTAPI
X As Long
Y As Long
End Type
Private Declare Function GetCursorPos Lib "USER32" (lpPoint As POINTAPI) As Long
Private Sub Command1_Click()
Form2.Show
Timer1.Interval = 100
Timer1.Enabled = True
End Sub
Private Sub Command2_Click()
Timer1.Enabled = False
Form2.Hide
End Sub
Private Sub Timer1_Timer()
Dim p As POINTAPI
GetCursorPos p '取鼠标所在位置坐标
Form2.Left = p.X * 15
Form2.Top = p.Y * 15
End Sub