|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
API的方法更简单些- Private Type PointAPI
- X As Single
- Y As Single
- End Type
- Private Declare Function PtInRegion Lib "gdi32" (ByVal hRgn As Long, ByVal X As Long, ByVal Y As Long) As Long
- Private Declare Function CreatePolygonRgn Lib "gdi32" (lpPoint As PointAPI, ByVal nCount As Long, ByVal nPolyFillMode As Long) As Long
- Function Inshape(ByRef p() As PointAPI, ByRef p0 As PointAPI) As Boolean
- Dim poly As Long
- poly = CreatePolygonRgn(p(0), UBound(p) + 1, 1)
- Inshape = (PtInRegion(poly, p0.X, p0.Y) > 0)
- End Function
- Sub Test()
- Dim p(2) As PointAPI, p0 As PointAPI
- p(0).X = 1
- p(0).Y = 9
- p(1).X = 2
- p(1).Y = 2
- p(2).X = 4
- p(2).Y = 4
- p0.X = 3
- p0.Y = 4
- MsgBox Inshape(p, p0)
- End Sub
复制代码 |
评分
-
1
查看全部评分
-
|