📄 clsskinheader.cls
字号:
VERSION 1.0 CLASS
BEGIN
MultiUse = -1 'True
Persistable = 0 'NotPersistable
DataBindingBehavior = 0 'vbNone
DataSourceBehavior = 0 'vbNone
MTSTransactionMode = 0 'NotAnMTSObject
END
Attribute VB_Name = "clsSkinHeader"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Option Explicit
Implements GXISubclass
Private Const FW_NORMAL As Long = 400
Private Const FW_BOLD As Long = 700
Private Const HD_CALGN As Long = &H3
Private Const HDI_WIDTH As Long = &H1
Private Const HDI_TEXT As Long = &H2
Private Const HDI_FORMAT As Long = &H4
Private Const HDI_IMAGE As Long = &H20
Private Const HDI_ORDER As Long = &H80
Private Const HDF_LEFT As Long = &H0
Private Const HDF_RIGHT As Long = &H1
Private Const HDF_CENTER As Long = &H2
Private Const HDF_RTLREADING As Long = &H4
Private Const HDF_SORTDOWN As Long = &H200
Private Const HDF_SORTUP As Long = &H400
Private Const HDF_IMAGE As Long = &H800
Private Const HDF_STRING As Long = &H4000
Private Const HDF_BITMAP_ON_RIGHT As Long = &H1000
Private Const HDM_FIRST As Long = &H1200
Private Const HDM_GETITEMCOUNT As Long = (HDM_FIRST + 0)
Private Const HDM_GETITEMA As Long = (HDM_FIRST + 3)
Private Const HDM_SETITEMA As Long = (HDM_FIRST + 4)
Private Const HDM_GETITEMRECT As Long = (HDM_FIRST + 7)
Private Const HDM_GETITEMW As Long = (HDM_FIRST + 11)
Private Const HDM_SETITEMW As Long = (HDM_FIRST + 12)
Private Const HDM_SETHOTDIVIDER As Long = (HDM_FIRST + 19)
Private Const ILD_TRANSPARENT As Long = &H1
Private Const LF_DEFAULT_QUALITY As Long = 0
Private Const LF_DRAFT_QUALITY As Long = 1
Private Const LF_PROOF_QUALITY As Long = 2
Private Const LF_NONANTIALIASED_QUALITY As Long = 3
Private Const LF_ANTIALIASED_QUALITY As Long = 4
Private Const LF_CLEARTYPE_QUALITY As Long = 5
Private Const LVM_FIRST As Long = &H1000
Private Const LVM_GETHEADER As Long = (LVM_FIRST + 31)
Private Const LOGPIXELSY As Long = 90
Private Const VER_PLATFORM_WIN32_NT As Long = 2
Private Const VK_LBUTTON As Long = &H1
Private Const VK_RBUTTON As Long = &H2
Private Const WM_GETFONT As Long = &H31
Private Const WM_SETFONT As Long = &H30
Private Enum CURSOR_RESOURCE
OCR_NORMAL = 32512&
OCR_IBEAM = 32513&
OCR_WAIT = 32514&
OCR_CROSS = 32515&
OCR_UP = 32516&
OCR_SIZE = 32640&
OCR_ICON = 32641&
OCR_SIZENWSE = 32642&
OCR_SIZENESW = 32643&
OCR_SIZEWE = 32644&
OCR_SIZENS = 32645&
OCR_SIZEALL = 32646&
OCR_ICOCUR = 32647&
OCR_NO = 32648&
OCR_HAND = 32649&
OCR_APPSTARTING = 32650&
End Enum
Public Enum EHdrTextAlign
HdrTextALignLeft = HDF_LEFT
HdrTextALignCentre = HDF_CENTER
HdrTextALignRight = HDF_RIGHT
HdrTextAlignRTLReading = HDF_RTLREADING
End Enum
Public Enum EHdrSortBitmapTypes
HdrSortBitmapNone = 0
HdrSortBitmapUp = HDF_SORTUP
HdrSortBitmapDown = HDF_SORTDOWN
End Enum
Public Enum EHdrTextEffect
HdrTextNormal = 0
HdrTextEmbossed = 1
HdrTextEngraved = 2
End Enum
Private Enum EColAlignFlags
DT_TOP = &H0&
DT_LEFT = &H0&
DT_CENTER = &H1&
DT_RIGHT = &H2&
DT_VCENTER = &H4&
DT_BOTTOM = &H8&
DT_WORDBREAK = &H10&
DT_SINGLELINE = &H20&
DT_EXPANDTABS = &H40&
DT_TABSTOP = &H80&
DT_NOCLIP = &H100&
DT_EXTERNALLEADING = &H200&
DT_CALCRECT = &H400&
DT_NOPREFIX = &H800&
DT_INTERNAL = &H1000&
DT_EDITCONTROL = &H2000&
DT_PATH_ELLIPSIS = &H4000&
DT_END_ELLIPSIS = &H8000&
DT_MODIFYSTRING = &H10000
DT_RTLREADING = &H20000
DT_WORD_ELLIPSIS = &H40000
End Enum
Private Enum TRACKMOUSEEVENT_FLAGS
TME_HOVER = &H1&
TME_LEAVE = &H2&
TME_QUERY = &H40000000
TME_CANCEL = &H80000000
End Enum
Private Type RECT
Left As Long
Top As Long
Right As Long
bottom As Long
End Type
Private Type POINTAPI
x As Long
y As Long
End Type
Private Type HDITEMA
Mask As Long
cxy As Long
pszText As String
hbm As Long
cchTextMax As Long
fmt As Long
lParam As Long
iImage As Long
iOrder As Long
type As Long
pvFilter As Long
End Type
Private Type HDITEMW
Mask As Long
cxy As Long
pszText As Long
hbm As Long
cchTextMax As Long
fmt As Long
lParam As Long
iImage As Long
iOrder As Long
type As Long
pvFilter As Long
End Type
Private Type PAINTSTRUCT
hdc As Long
fErase As Boolean
rcPaint As RECT
fRestore As Boolean
fIncUpdate As Boolean
rgbReserved(32) As Byte
End Type
Private Type BITMAP
bmType As Long
bmWidth As Long
bmHeight As Long
bmWidthBytes As Long
bmPlanes As Integer
bmBitsPixel As Integer
bmBits As Long
End Type
Private Type TRACKMOUSEEVENT_STRUCT
cbSize As Long
dwFlags As TRACKMOUSEEVENT_FLAGS
hwndTrack As Long
dwHoverTime As Long
End Type
Private Type LOGFONT
lfHeight As Long
lfWidth As Long
lfEscapement As Long
lfOrientation As Long
lfWeight As Long
lfItalic As Byte
lfUnderline As Byte
lfStrikeOut As Byte
lfCharSet As Byte
lfOutPrecision As Byte
lfClipPrecision As Byte
lfQuality As Byte
lfPitchAndFamily As Byte
lfFaceName(32) As Byte
End Type
Private Type OSVERSIONINFO
dwVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion(0 To 127) As Byte
End Type
Private Declare Function SendMessageLongA Lib "USER32" Alias "SendMessageA" (ByVal hWnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
ByVal lParam As Long) As Long
Private Declare Function SendMessageA Lib "USER32" (ByVal hWnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any) As Long
Private Declare Function SendMessageW Lib "USER32" (ByVal hWnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any) As Long
Private Declare Function lstrlenW Lib "kernel32" (ByVal lpString As Long) As Long
Private Declare Function CreateFontIndirectA Lib "gdi32" (lpLogFont As LOGFONT) As Long
Private Declare Function CreateFontIndirectW Lib "gdi32" (lpLogFont As LOGFONT) As Long
Private Declare Function DrawTextA Lib "USER32" (ByVal hdc As Long, _
ByVal lpStr As String, _
ByVal nCount As Long, _
lpRect As RECT, _
ByVal wFormat As Long) As Long
Private Declare Function DrawTextW Lib "USER32" (ByVal hdc As Long, _
ByVal lpStr As Long, _
ByVal nCount As Long, _
lpRect As RECT, _
ByVal wFormat As Long) As Long
Private Declare Function GetTextExtentPoint32A Lib "gdi32" (ByVal hdc As Long, _
ByVal lpsz As String, _
ByVal cbString As Long, _
lpSize As POINTAPI) As Long
Private Declare Function GetTextExtentPoint32W Lib "gdi32" (ByVal hdc As Long, _
ByVal lpsz As Long, _
ByVal cbString As Long, _
lpSize As POINTAPI) As Long
Private Declare Function GetModuleHandleA Lib "kernel32" (ByVal lpModuleName As String) As Long
Private Declare Function GetModuleHandleW Lib "kernel32" (ByVal lpModuleName As Long) As Long
Private Declare Function LoadLibraryA Lib "kernel32" (ByVal lpLibFileName As String) As Long
Private Declare Function LoadLibraryW Lib "kernel32" (ByVal lpLibFileName As Long) As Long
Private Declare Function lstrcpyW Lib "kernel32" (ByVal lpString1 As Long, _
ByVal lpString2 As Long) As Long
Private Declare Function ScreenToClient Lib "USER32" (ByVal hWnd As Long, _
lpPoint As POINTAPI) As Long
Private Declare Function CreateDc Lib "gdi32" Alias "CreateDCA" (ByVal lpDriverName As String, _
lpDeviceName As Any, _
lpOutput As Any, _
lpInitData As Any) As Long
Private Declare Function DeleteDC Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function GetCursorPos Lib "USER32" (lpPoint As POINTAPI) As Long
Private Declare Function MulDiv Lib "kernel32" (ByVal nNumber As Long, _
ByVal nNumerator As Long, _
ByVal nDenominator As Long) As Long
Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, _
ByVal hObject As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Private Declare Function GetDeviceCaps Lib "gdi32" (ByVal hdc As Long, _
ByVal nIndex As Long) As Long
Private Declare Function CreateCompatibleBitmap Lib "gdi32" (ByVal hdc As Long, _
ByVal nWidth As Long, _
ByVal nHeight As Long) As Long
Private Declare Function CreateCompatibleDC Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function SetBkMode Lib "gdi32" (ByVal hdc As Long, _
ByVal nBkMode As Long) As Long
Private Declare Function SetTextColor Lib "gdi32" (ByVal hdc As Long, _
ByVal crColor As Long) As Long
Private Declare Sub InitCommonControls Lib "comctl32.dll" ()
Private Declare Function ImageList_Draw Lib "COMCTL32" (ByVal himl As Long, _
ByVal i As Long, _
ByVal hdcDst As Long, _
ByVal x As Long, _
ByVal y As Long, _
ByVal fStyle As Long) As Long
Private Declare Function CreateRectRgn Lib "gdi32" (ByVal X1 As Long, _
ByVal Y1 As Long, _
ByVal X2 As Long, _
ByVal Y2 As Long) As Long
Private Declare Function SelectClipRgn Lib "gdi32" (ByVal hdc As Long, _
ByVal hRgn As Long) As Long
Private Declare Function BeginPaint Lib "USER32" (ByVal hWnd As Long, _
lpPaint As PAINTSTRUCT) As Long
Private Declare Function EndPaint Lib "USER32" (ByVal hWnd As Long, _
lpPaint As PAINTSTRUCT) As Long
Private Declare Function GetDC Lib "user32.dll" (ByVal hWnd As Long) As Long
Private Declare Function OffsetRect Lib "USER32" (lpRect As RECT, _
ByVal x As Long, _
ByVal y As Long) As Long
Private Declare Function GetObject Lib "gdi32" Alias "GetObjectA" (ByVal hObject As Long, _
ByVal nCount As Long, _
lpObject As Any) As Long
Private Declare Function ReleaseDC Lib "USER32" (ByVal hWnd As Long, _
ByVal hdc As Long) As Long
Private Declare Function CopyRect Lib "USER32" (lpDestRect As RECT, _
lpSourceRect As RECT) As Long
Private Declare Function TrackMouseEvent Lib "USER32" (lpEventTrack As TRACKMOUSEEVENT_STRUCT) As Long
Private Declare Function TrackMouseEventComCtl Lib "COMCTL32" Alias "_TrackMouseEvent" (lpEventTrack As TRACKMOUSEEVENT_STRUCT) As Long
Private Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, _
ByVal lpProcName As Long) As Long
Private Declare Function FreeLibrary Lib "kernel32" (ByVal hLibModule As Long) As Long
Private Declare Function PtInRect Lib "USER32" (lpRect As RECT, _
ByVal ptX As Long, _
ByVal ptY As Long) As Long
Private Declare Function ImageList_GetIconSize Lib "COMCTL32" (ByVal himl As Long, _
cx As Long, _
cy As Long) As Long
Private Declare Function UpdateWindow Lib "USER32" (ByVal hWnd As Long) As Long
Private Declare Function InvalidateRect Lib "USER32" (ByVal hWnd As Long, _
lpRect As Long, _
ByVal bErase As Long) As Long
Private Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" (lpVersionInfo As OSVERSIONINFO) As Long
Private Declare Function CreatePen Lib "gdi32" (ByVal nPenStyle As Long, _
ByVal nWidth As Long, _
ByVal crColor As Long) As Long
Private Declare Function MoveToEx Lib "gdi32" (ByVal hdc As Long, _
ByVal x As Long, _
ByVal y As Long, _
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -