Attribute VB_Name = "UtilityFuncs" Option Explicit Public Const SRCCOPY = &HCC0020 ' (DWORD) dest = source Public Const WHITENESS = &HFF0062 ' (DWORD) dest = WHITE Public Const BLACKNESS = &H42 ' (DWORD) dest = BLACK Public Const PATPAINT = &HFB0A09 ' (DWORD) dest = DPSnoo Public Declare Function Rectangle Lib "gdi32" (ByVal hdc As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long Public Declare Function TextOut Lib "gdi32" Alias "TextOutA" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal lpString As String, ByVal nCount As Long) As Long Public Declare Function GetTextExtentPoint32 Lib "gdi32" Alias "GetTextExtentPoint32A" (ByVal hdc As Long, ByVal lpsz As String, ByVal cbString As Long, lpSize As Size) As Long Public Declare Function InvalidateRect Lib "user32" (ByVal hWnd As Long, lpRect As RECT, ByVal bErase As Long) As Long Public Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long Public Declare Function SetBkMode Lib "gdi32" (ByVal hdc As Long, ByVal nBkMode As Long) As Long Public Declare Function GetBkColor Lib "gdi32" (ByVal hdc As Long) As Long Public Declare Function GetTextColor Lib "gdi32" (ByVal hdc As Long) As Long Public Declare Function SetTextColor Lib "gdi32" (ByVal hdc As Long, ByVal crColor As Long) As Long Public Declare Function SetBkColor Lib "gdi32" (ByVal hdc As Long, ByVal crColor As Long) As Long Public Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long Public Declare Function CreateFont Lib "gdi32" Alias "CreateFontA" (ByVal H As Long, ByVal W As Long, ByVal E As Long, ByVal O As Long, ByVal W As Long, ByVal i As Long, ByVal u As Long, ByVal S As Long, ByVal c As Long, ByVal OP As Long, ByVal CP As Long, ByVal Q As Long, ByVal PAF As Long, ByVal F As String) As Long Public Declare Function SetGraphicsMode Lib "gdi32" (ByVal hdc As Long, ByVal iMode As Long) As Long Public Declare Function FloodFill Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal crColor As Long) As Long Public Declare Function ExtFloodFill Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal crColor As Long, ByVal wFillType As Long) As Long Public Declare Function CreateSolidBrush Lib "gdi32" (ByVal crColor As Long) As Long Public Declare Function CreatePen Lib "gdi32" (ByVal nPenStyle As Long, ByVal nWidth As Long, ByVal crColor As Long) As Long Public Const FLOODFILLBORDER = 0 Public Const FLOODFILLSURFACE = 1 Public Const OPAQUE = 2 Public Const TRANSPARENT = 1 Public Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type Public Type Size cx As Long cy As Long End Type Public Function GetWord(ach() As Byte, Address As Long, Optional Unsigned As Boolean) As Long GetWord = 256# * ach(Address) + ach(Address + 1) If Not Unsigned And (GetWord And 32768) = 32768 Then GetWord = GetWord - 65536 End Function Public Function SetWord(ach() As Byte, Address As Long, value As Long) value = value And 65535 ach(Address) = value \ 256 ach(Address + 1) = value Mod 256 End Function Public Function GetByte(ach() As Byte, Address As Long) As Long GetByte = ach(Address) And 255 End Function Public Function SetByte(ach() As Byte, Address As Long, ByVal value As Long) As Long value = value And 255 ach(Address) = value End Function Public Function HexVal(ByVal DecVal As Long) As String HexVal = Hex(DecVal And 65535) If Len(HexVal) Mod 2 = 1 Then HexVal = "0" & HexVal End Function