📄 apifunctions.cls
字号:
For lMaskPos = (nStart + 1) To (nEnd + 1)
lMask = lMask + (lMaskPos ^ 2)
Next lMaskPos
GetBits = (lInput And lMask)
End Function
Public Function GetClassInfo(ByVal hInstance As Long, ByVal lpClassName As String, lpWndClass As APIWndClass) As Long
Dim lret As Long
Dim lpAddress As Long
If lpWndClass Is Nothing Then
Set lpWndClass = New APIWndClass
End If
lret = GetClassInfoApi(hInstance, lpClassName, lpAddress)
If lpWndClass.CreateFromPointer(lpAddress) Then
GetClassInfo = lret
Else
Set lpWndClass = Nothing
End If
End Function
Public Sub InitCommonControls(ByVal ClassToInit As Long)
Dim lret As Long
Dim iccx As INITCOMMONCONTROLSEX
With iccx
.dwSize = Len(iccx)
.dwICC = ClassToInit
End With
lret = InitCommonControlsExApi(iccx)
If Err.LastDllError > 0 Then
ReportError Err.LastDllError, "ApiFunctions:InitCommonControls", Me.LastSystemError
End If
End Sub
Public Function MakeInt(ByVal LoByte As Byte, ByVal hiByte As Byte) As Integer
MakeInt = Val("&H" & PadString(Hex(hiByte), 2, "0") & PadString(Hex(LoByte), 2, "0"))
End Function
Public Function MakeLong(ByVal LoWord As Integer, ByVal HiWord As Integer) As Long
MakeLong = Val("&H" & PadString(Hex(HiWord), 4, "0") & PadString(Hex(LoWord), 4, "0"))
End Function
Public Property Get ModuleHandle() As Long
ModuleHandle = GetModuleHandle(App.exename)
End Property
Public Property Get ModuleInstance() As Long
ModuleInstance = App.hInstance
End Property
Friend Sub RaiseError(ByVal Number As Long, ByVal Source As String, ByVal Description As String)
'\\ 2001-11-08
'\\ Do not raise zero error
If Number <> 0 Then
RaiseEvent ApiError(Number, Source, Description)
End If
End Sub
Friend Sub RunProgram(ByVal exename As String)
Dim lret As Long
lret = ShellExecute(0, "Open", exename, "", "", SW_NORMAL)
End Sub
'\\ --[sGetMessageName]---------------------------------------------------------------------
'\\ Returns the text name of a windows message from its long number...
'\\ ----------------------------------------------------------------------------------------
'\\ (c) 2001 - Merrion Computing. All rights to use, reproduce or publish this code reserved
'\\ Please check http://www.merrioncomputing.com for updates.
'\\ ----------------------------------------------------------------------------------------
Public Function sGetMessageName(ByVal nMsg As Long) As String
Select Case nMsg
Case WM_ACTIVATE
sGetMessageName = "WM_ACTIVATE"
Case WM_ACTIVATEAPP
sGetMessageName = "WM_ACTIVATEAPP"
Case WM_ASKCBFORMATNAME
sGetMessageName = "WM_ASKCBFORMATNAME"
Case WM_CANCELJOURNAL
sGetMessageName = "WM_CANCELJOURNAL"
Case WM_CANCELMODE
sGetMessageName = "WM_CANCELMODE"
Case WM_CAPTURECHANGED
sGetMessageName = "WM_CAPTURECHANGED"
Case WM_CHANGECBCHAIN
sGetMessageName = "WM_CHANGECBCHAIN"
Case WM_CHAR
sGetMessageName = "WM_CHAR"
Case WM_CHARTOITEM
sGetMessageName = "WM_CHARTOITEM"
Case WM_CHILDACTIVATE
sGetMessageName = "WM_CHILDACTIVATE"
Case WM_CHOOSEFONT_GETLOGFONT
sGetMessageName = "WM_CHOOSEFONT_GETLOGFONT"
Case WM_CHOOSEFONT_SETFLAGS
sGetMessageName = "WM_CHOOSEFONT_SETFLAGS"
Case WM_CHOOSEFONT_SETLOGFONT
sGetMessageName = "WM_CHOOSEFONT_SETLOGFONT"
Case WM_CLEAR
sGetMessageName = "WM_CLEAR"
Case WM_CLOSE
sGetMessageName = "WM_CLOSE"
Case WM_COMMAND
sGetMessageName = "WM_COMMAND"
Case WM_COMPACTING
sGetMessageName = "WM_COMPACTING"
Case WM_COMPAREITEM
sGetMessageName = "WM_COMPAREITEM"
Case WM_CONVERTREQUESTEX
sGetMessageName = "WM_CONVERTREQUESTEX"
Case WM_COPY
sGetMessageName = "WM_COPY"
Case WM_COPYDATA
sGetMessageName = "WM_COPYDATA"
Case WM_CREATE
sGetMessageName = "WM_CREATE"
Case WM_CTLCOLORBTN
sGetMessageName = "WM_CTLCOLORBTN"
Case WM_CTLCOLORDLG
sGetMessageName = "WM_CTLCOLORDLG"
Case WM_CTLCOLOREDIT
sGetMessageName = "WM_CTLCOLOREDIT"
Case WM_CTLCOLORLISTBOX
sGetMessageName = "WM_CTLCOLORLISTBOX"
Case WM_CTLCOLORMSGBOX
sGetMessageName = "WM_CTLCOLORMSGBOX"
Case WM_CTLCOLORSCROLLBAR
sGetMessageName = "WM_CTLCOLORSCROLLBAR"
Case WM_CTLCOLORSTATIC
sGetMessageName = "WM_CTLCOLORSTATIC"
Case WM_CUT
sGetMessageName = "WM_CUT"
Case WM_DDE_ACK
sGetMessageName = "WM_DDE_ACK"
Case WM_DDE_ADVISE
sGetMessageName = "WM_DDE_ADVISE"
Case WM_DDE_DATA
sGetMessageName = "WM_DDE_DATA"
Case WM_DDE_EXECUTE
sGetMessageName = "WM_DDE_EXECUTE"
Case WM_DDE_FIRST
sGetMessageName = "WM_DDE_FIRST"
Case WM_DDE_INITIATE
sGetMessageName = "WM_DDE_INITIATE"
Case WM_DDE_LAST
sGetMessageName = "WM_DDE_LAST"
Case WM_DDE_POKE
sGetMessageName = "WM_DDE_POKE"
Case WM_DDE_REQUEST
sGetMessageName = "WM_DDE_REQUEST"
Case WM_DDE_TERMINATE
sGetMessageName = "WM_DDE_TERMINATE"
Case WM_DDE_UNADVISE
sGetMessageName = "WM_DDE_UNADVISE"
Case WM_DEADCHAR
sGetMessageName = "WM_DEADCHAR"
Case WM_DELETEITEM
sGetMessageName = "WM_DELETEITEM"
Case WM_DESTROY
sGetMessageName = "WM_DESTROY"
Case WM_DESTROYCLIPBOARD
sGetMessageName = "WM_DESTROYCLIPBOARD"
Case WM_DEVMODECHANGE
sGetMessageName = "WM_DEVMODECHANGE"
Case WM_DRAWCLIPBOARD
sGetMessageName = "WM_DRAWCLIPBOARD"
Case WM_DRAWITEM
sGetMessageName = "WM_DRAWITEM"
Case WM_DROPFILES
sGetMessageName = "WM_DROPFILES"
Case WM_ENABLE
sGetMessageName = "WM_ENABLE"
Case WM_ENDSESSION
sGetMessageName = "WM_ENDSESSION"
Case WM_ENTERIDLE
sGetMessageName = "WM_ENTERIDLE"
Case WM_ENTERMENULOOP
sGetMessageName = "WM_ENTERMENULOOP"
Case WM_ERASEBKGND
sGetMessageName = "WM_ERASEBKGND"
Case WM_EXITMENULOOP
sGetMessageName = "WM_EXITMENULOOP"
Case WM_FONTCHANGE
sGetMessageName = "WM_FONTCHANGE"
Case WM_GETDLGCODE
sGetMessageName = "WM_GETDLGCODE"
Case WM_GETFONT
sGetMessageName = "WM_GETFONT"
Case WM_GETHOTKEY
sGetMessageName = "WM_GETHOTKEY"
Case WM_GETMINMAXINFO
sGetMessageName = "WM_GETMINMAXINFO"
Case WM_GETTEXT
sGetMessageName = "WM_GETTEXT"
Case WM_GETTEXTLENGTH
sGetMessageName = "WM_GETTEXTLENGTH"
Case WM_HOTKEY
sGetMessageName = "WM_HOTKEY"
Case WM_HSCROLL
sGetMessageName = "WM_HSCROLL"
Case WM_HSCROLLCLIPBOARD
sGetMessageName = "WM_HSCROLLCLIPBOARD"
Case WM_ICONERASEBKGND
sGetMessageName = "WM_ICONERASEBKGND"
Case WM_IME_CHAR
sGetMessageName = "WM_IME_CHAR"
Case WM_IME_COMPOSITION
sGetMessageName = "WM_IME_COMPOSITION"
Case WM_IME_COMPOSITIONFULL
sGetMessageName = "WM_IME_COMPOSITIONFULL"
Case WM_IME_CONTROL
sGetMessageName = "WM_IME_CONTROL"
Case WM_IME_ENDCOMPOSITION
sGetMessageName = "WM_IME_ENDCOMPOSITION"
Case WM_IME_KEYDOWN
sGetMessageName = "WM_IME_KEYDOWN"
Case WM_IME_KEYLAST
sGetMessageName = "WM_IME_KEYLAST"
Case WM_IME_KEYUP
sGetMessageName = "WM_IME_KEYUP"
Case WM_IME_NOTIFY
sGetMessageName = "WM_IME_NOTIFY"
Case WM_IME_SELECT
sGetMessageName = "WM_IME_SELECT"
Case WM_IME_SETCONTEXT
sGetMessageName = "WM_IME_SETCONTEXT"
Case WM_IME_STARTCOMPOSITION
sGetMessageName = "WM_IME_STARTCOMPOSITION"
Case WM_INITDIALOG
sGetMessageName = "WM_INITDIALOG"
Case WM_INITMENU
sGetMessageName = "WM_INITMENU"
Case WM_INITMENUPOPUP
sGetMessageName = "WM_INITMENUPOPUP"
Case WM_KEYDOWN
sGetMessageName = "WM_KEYDOWN"
Case WM_KEYUP
sGetMessageName = "WM_KEYUP"
Case WM_KILLFOCUS
sGetMessageName = "WM_KILLFOCUS"
Case WM_LBUTTONDBLCLK
sGetMessageName = "WM_LBUTTONDBLCLK"
Case WM_LBUTTONDOWN
sGetMessageName = "WM_LBUTTONDOWN"
Case WM_LBUTTONUP
sGetMessageName = "WM_LBUTTONUP"
Case WM_MBUTTONDBLCLK
sGetMessageName = "WM_MBUTTONDBLCLK"
Case WM_MBUTTONDOWN
sGetMessageName = "WM_MBUTTONDOWN"
Case WM_MBUTTONUP
sGetMessageName = "WM_MBUTTONUP"
Case WM_MDIACTIVATE
sGetMessageName = "WM_MDIACTIVATE"
Case WM_MDICASCADE
sGetMessageName = "WM_MDICASCADE"
Case WM_MDICREATE
sGetMessageName = "WM_MDICREATE"
Case WM_MDIDESTROY
sGetMessageName = "WM_MDIDESTROY"
Case WM_MDIGETACTIVE
sGetMessageName = "WM_MDIGETACTIVE"
Case WM_MDIICONARRANGE
sGetMessageName = "WM_MDIICONARRANGE"
Case WM_MDIMAXIMIZE
sGetMessageName = "WM_MDIMAXIMIZE"
Case WM_MDINEXT
sGetMessageName = "WM_MDINEXT"
Case WM_MDIREFRESHMENU
sGetMessageName = "WM_MDIREFRESHMENU"
Case WM_MDIRESTORE
sGetMessageName = "WM_MDIRESTORE"
Case WM_MDISETMENU
sGetMessageName = "WM_MDISETMENU"
Case WM_MDITILE
sGetMessageName = "WM_MDITILE"
Case WM_MEASUREITEM
sGetMessageName = "WM_MEASUREITEM"
Case WM_MENUCHAR
sGetMessageName = "WM_MENUCHAR"
Case WM_MENUSELECT
sGetMessageName = "WM_MENUSELECT"
Case WM_MOUSEACTIVATE
sGetMessageName = "WM_MOUSEACTIVATE"
Case WM_MOUSEMOVE
sGetMessageName = "WM_MOUSEMOVE"
Case WM_MOVE ' &H3
sGetMessageName = "WM_MOVE"
Case WM_NCACTIVATE ' &H86
sGetMessageName = "WM_NCACTIVATE"
Case WM_NCCALCSIZE ' &H83
sGetMessageName = "WM_NCCALCSIZE"
Case WM_NCCREATE ' &H81
sGetMessageName = "WM_NCCREATE"
Case WM_NCDESTROY ' &H82
sGetMessageName = "WM_NCDESTROY"
Case WM_NCHITTEST ' &H84
sGetMessageName = "WM_NCHITTEST"
Case WM_NCLBUTTONDBLCLK ' &HA3
sGetMessageName = "WM_NCLBUTTONDBLCLK"
Case WM_NCLBUTTONDOWN ' &HA1
sGetMessageName = "WM_NCLBUTTONDOWN"
Case WM_NCLBUTTONUP ' &HA2
sGetMessageName = "WM_NCLBUTTONUP"
Case WM_NCMBUTTONDBLCLK ' &HA9
sGetMessageName = "WM_NCMBUTTONDBLCLK"
Case WM_NCMBUTTONDOWN ' &HA7
sGetMessageName = "WM_NCMBUTTONDOWN"
Case WM_NCMBUTTONUP ' &HA8
sGetMessageName = "WM_NCMBUTTONUP"
Case WM_NCMOUSEMOVE ' &HA0
sGetMessageName = "WM_NCMOUSEMOVE"
Case WM_NCPAINT ' &H85
sGetMessageName = "WM_NCPAINT"
Case WM_NCRBUTTONDBLCLK ' &HA6
sGetMessageName = "WM_NCRBUTTONDBLCLK"
Case WM_NCRBUTTONDOWN ' &HA4
sGetMessageName = "WM_NCRBUTTONDOWN"
Case WM_NCRBUTTONUP ' &HA5
sGetMessageName = "WM_NCRBUTTONUP"
Case WM_NEXTDLGCTL ' &H28
sGetMessageName = "WM_NEXTDLGCTL"
Case WM_NULL ' &H0
sGetMessageName = "WM_NULL"
Case WM_PAINT ' &HF
sGetMessageName = "WM_PAINT"
Case WM_PAINTCLIPBOARD ' &H309
sGetMessageName = "WM_PAINTCLIPBOARD"
Case WM_PAINTICON ' &H26
sGetMessageName = "WM_PAINTICON"
Case WM_PALETTECHANGED ' &H311
sGetMessageName = "WM_PALETTECHANGED"
Case WM_PALETTEISCHANGING ' &H310
sGetMessageName = "WM_PALETTEISCHANGING"
Case WM_PARENTNOTIFY ' &H210
sGetMessageName = "WM_PARENTNOTIFY"
Case WM_PASTE ' &H302
sGetMessageName = "WM_PASTE"
Case WM_PENWINFIRST ' &H380
sGetMessageName = "WM_PENWINFIRST"
Case WM_PENWINLAST ' &H38F
sGetMessageName = "WM_PENWINLAST"
Case WM_POWER ' &H48
sGetMessageName = "WM_POWER"
Case WM_PSD_ENVSTAMPRECT ' (&H400 + 5)
sGetMessageName = "WM_PSD_ENVSTAMPRECT"
Case WM_PSD_FULLPAGERECT ' (&H400 + 1)
sGetMessageName = "WM_PSD_FULLPAGERECT"
Case WM_PSD_GREEKTEXTRECT ' (&H400 + 4)
sGetMessageName = "WM_PSD_GREEKTEXTRECT"
Case WM_PSD_MARGINRECT ' (&H400 + 3)
sGetMessageName = "WM_PSD_MARGINRECT"
Case WM_PSD_MINMARGINRECT ' (&H400 + 2)
sGetMessageName = "WM_PSD_MINMARGINRECT"
Case WM_PSD_PAGESETUPDLG ' (&H400)
sGetMessageName = "WM_PSD_PAGESETUPDLG"
Case WM_PSD_YAFULLPAGERECT ' (&H400 + 6)
sGetMessageName = "WM_PSD_YAFULLPAGERECT"
Case WM_QUERYDRAGICON ' &H37
sGetMessageName = "WM_QUERYDRAGICON"
Case WM_QUERYENDSESSION ' &H11
sGetMessageName = "WM_QUERYENDSESSION"
Case WM_QUERYNEWPALETTE ' &H30F
sGetMessageName = "WM_QUERYNEWPALETTE"
Case WM_QUERYOPEN ' &H13
sGetMessageName = "WM_QUERYOPEN"
Case WM_QUEUESYNC ' &H23
sGetMessageName = "WM_QUEUESYNC"
Case WM_QUIT ' &H12
sGetMessageName = "WM_QUIT"
Case WM_RBUTTONDBLCLK ' &H206
sGetMessageName = "WM_RBUTTONDBLCLK"
Case WM_RBUTTONDOWN ' &H204
sGetMessageName = "WM_RBUTTONDOWN"
Case WM_RBUTTONUP ' &H205
sGetMessageName = "WM_RBUTTONUP"
Case WM_RENDERALLFORMATS ' &H306
sGetMessageName = "WM_RENDERALLFORMATS"
Case WM_RENDERFORMAT ' &H305
sGetMessageName = "WM_RENDERFORMAT"
Case WM_SETCURSOR ' &H20
sGetMessageName = "WM_SETCURSOR"
Case WM_SETFOCUS ' &H7
sGetMessageName = "WM_SETFOCUS"
Case WM_SETFONT ' &H30
sGetMessageName = "WM_SETFONT"
Case WM_SETHOTKEY ' &H32
sGetMessageName = "WM_SETHOTKEY"
Case WM_SETREDRAW ' &HB
sGetMessageName = "WM_SETREDRAW"
Case WM_SETTEXT ' &HC
sGetMessageName = "WM_SETTEXT"
Case WM_SETTINGCHANGE ' &H1A
sGetMessageName = "WM_SETTINGCHANGE"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -