Private Const CON_DIS = 45
Dim mX1 As Long
Dim mY1 As Long
Dim mX2 As Long
Dim mY2 As Long
Dim mWidth As Long
Dim mArrowWidth As Long
Dim mArrowHeight As Long
Dim TWIP_PER_PIXEL As Long
Public Color As Long '颜色
Public FillStyle As Long '填充模式 0-空心 1-实心
'在指定的句柄设备上将自己画出来
Public Sub DrawMe(ByVal hdc As Long, ByVal hWnd As Long)
Dim tAStartX As Long, tAStartY As Long
Dim tAng1 As Double
Dim tOffsetX As Long, tOffsetY As Long
Dim tPoly(1 To 7) As POINTAPI
Dim NumCoords As Integer
Dim hBrush As Long, hRgn As Long
NumCoords = UBound(tPoly)
'计算线段的倾斜角度
If mX1 < mX2 Then
tAng1 = Atn((mY2 - mY1) / (mX2 - mX1))
ElseIf mX1 > mX2 Then
tAng1 = 3.14159 - Atn((mY2 - mY1) / (mX1 - mX2))
Else
If mY2 > mY1 Then
tAng1 = 3.14159 / 2
Else
tAng1 = 0 - 3.14159 / 2
End If
End If
Public Type POINTAPI
X As Long
Y As Long
End Type
Public WIN_DIR As String
Public WINSYS_DIR As String
Private Declare Function GetPrivateProfileString Lib "kernel32" _
Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, _
ByVal lpKeyName As Any, ByVal lpDefault As String, _
ByVal lpReturnedString As String, ByVal nSize As Long, _
ByVal lpFileName As String) As Long
Private Declare Function WritePrivateProfileString Lib "kernel32" _
Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, _
ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) _
As Long
Public Declare Function CreatePolygonRgn Lib "gdi32" (lpPoint As Any, ByVal nCount As Long, ByVal nPolyFillMode As Long) As Long
Public Declare Function Polygon Lib "gdi32" (ByVal hdc As Long, lpPoint As Any, ByVal nCount As Long) As Long
Public Declare Function FillRgn Lib "gdi32" (ByVal hdc As Long, ByVal hRgn As Long, ByVal hBrush As Long) As Long
Public Declare Function GetStockObject Lib "gdi32" (ByVal nIndex As Long) As Long
Public Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Public Declare Function SetDCBrushColor Lib "gdi32.dll" (ByVal hdc As Long, ByVal colorref As Long) As Long
Public Declare Function SetDCPenColor Lib "gdi32.dll" (ByVal hdc As Long, ByVal colorref As Long) As Long
Public Const ALTERNATE = 1 ' ALTERNATE and WINDING are
Public Const WINDING = 2 ' constants for FillMode.
Public Const BLACKBRUSH = 1
Public Const DC_PEN = 19