帮助真大,有几个地方请教一下
1。ap。x=x、15是什么意思阿
2。winding=2和Dim lB As Long
Dim lOld As Long什么意思呢
3。Picture1.MousePointer = 2
Picture1.MousePointer = 0两个数字的意义是?
为什么执行起来好像没什么作用?要把前面的declare做成模块吗?
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim ap As POINTAPI
ap.X = X / 15: ap.Y = X / 15
'判断光标是否在区域内
If PtInRegion(hRgn, X / 15, Y / 15) Then
Picture1.MousePointer = 2
Else
Picture1.MousePointer = 0
End If
End Sub
Private Type POINTAPI
X As Long
Y As Long
End Type
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Private Declare Function CreatePolygonRgn Lib "gdi32" (lpPoint As POINTAPI, _
ByVal nCount As Long, ByVal nPolyFillMode As Long) As Long
Private Declare Function FillRgn Lib "gdi32" (ByVal hdc As Long, _
ByVal hRgn As Long, ByVal hBrush As Long) As Long
Private Declare Function PtInRegion Lib "gdi32" (ByVal hRgn As Long, _
ByVal X As Long, ByVal Y As Long) As Long
Private Declare Function CreateSolidBrush Lib "gdi32" (ByVal crColor As Long) _
As Long
Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal _
hObject As Long) As Long
Private Declare Function GetLastError Lib "kernel32" () As Long
Const ALTERNATE = 1
Const WINDING = 2
Dim hRgn As Long
Private Sub Command1_Click()
Dim xx(4) As POINTAPI
Dim lB As Long
Dim lOld As Long