为编程爱好者分享易语言教程源码的资源网

网站首页 > 易语言相关 > 易语言模块源码 正文

Scintilla模块源码

三叶资源网 2019-06-11 09:46:52 易语言模块源码 2095 ℃ 0 评论
.版本 2

.程序集 Scintilla_
.程序集变量 _Fn_, 整数型
.程序集变量 _Ptr_, 整数型
.程序集变量 _hWnd_, 整数型
.程序集变量 _hWndParent_, 整数型
.程序集变量 _WndProc_, 整数型
.程序集变量 _WndProcParent_, 整数型
.程序集变量 _NewWndProc_, 整数型
.程序集变量 _NewWndProcParent_, 整数型
.程序集变量 _IsCreate_, 逻辑型
.程序集变量 _WndXYWH_, WndXYWH

.子程序 _初始化

_NewWndProc_ = VirtualAlloc (0, 30, 位或 (#MEM_COMMIT, #MEM_RESERVE), #PAGE_EXECUTE_READWRITE)
_NewWndProcParent_ = _NewWndProc_ + 12
RtlMoveMemory (_NewWndProc_, { 88, 104, 0, 0, 0, 0, 80, 233, 0, 0, 0, 0 }, 12)
RtlMoveMemory (_NewWndProcParent_, { 141, 68, 36, 16, 135, 4, 36, 104, 0, 0, 0, 0, 80, 233, 0, 0, 0, 0 }, 18)
_MakeNewWndProcCode_ (_NewWndProc_ + 12, 12)
_MakeNewWndProcCode_ (_NewWndProcParent_ + 18, 16)


.子程序 _销毁

.如果真 (_IsCreate_)
    DestroyWindow (_hWnd_)
.如果真结束
VirtualFree (_NewWndProc_, 0, #MEM_RELEASE)


.子程序 _MakeNewWndProcCode_
.参数 NewWndProc, 整数型
.参数 Proc, 整数型

置入代码 ({ 139, 85, 8, 139, 69, 12, 139, 74, 4, 137, 72, 246, 139, 18, 139, 18, 3, 85, 16, 139, 18, 41, 194, 137, 80, 252 })
' mov edx,[ebp+8]
' mov eax,[ebp+12]
' mov ecx,[edx+4]
' mov [eax-10],ecx
' mov edx,[edx]
' mov edx,[edx]
' add edx,[ebp+16]
' mov edx,[edx]
' sub edx,eax
' mov [eax-4],edx


.子程序 _NewWndProc_, 整数型
.参数 hWnd, 整数型
.参数 wMsg, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型

.判断开始 (wMsg = #WM_DESTROY)
    SetWindowLong (_hWnd_, #GWL_WNDPROC, _WndProc_)
    SetWindowLong (_hWndParent_, #GWL_WNDPROC, _WndProcParent_)
    _IsCreate_ = 假
.默认

.判断结束
返回 (CallWindowProc (_WndProc_, hWnd, wMsg, wParam, lParam))


.子程序 _NewWndProcParent_, 整数型
.参数 Notification, SCNotification
.参数 hWnd, 整数型
.参数 wMsg, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型

.判断开始 (wMsg = #WM_NOTIFY)
    .如果真 (Notification.hwndFrom = _hWnd_)
        .判断开始 (Notification.code = #SCN_STYLENEEDED)
            _StyleNeeded_ (Notification.position)
        .判断 (Notification.code = #SCN_CHARADDED)
            _CharAdded_ (_ch_ (Notification.ch))
        .判断 (Notification.code = #SCN_SAVEPOINTREACHED)
            _SavePointReached_ ()
        .判断 (Notification.code = #SCN_SAVEPOINTLEFT)
            _SavePointLeft_ ()
        .判断 (Notification.code = #SCN_MODIFYATTEMPTRO)
            _ModifyAttemptRO_ ()
        .判断 (Notification.code = #SCN_KEY)
            _Key_ (_ch_ (Notification.ch), Notification.modifiers)
        .判断 (Notification.code = #SCN_DOUBLECLICK)
            _DoubleClick_ (Notification.modifiers, Notification.position, Notification.line)
        .判断 (Notification.code = #SCN_UPDATEUI)
            _UpdateUI_ (Notification.updated)
        .判断 (Notification.code = #SCN_MODIFIED)
            _Modified_ (Notification.position, Notification.modificationType, _Text_ (Notification.text), Notification.length, Notification.linesAdded, Notification.line, Notification.foldLevelNow, Notification.foldLevelPrev, Notification.token, Notification.annotationLinesAdded)
        .判断 (Notification.code = #SCN_MACRORECORD)
            _MacroRecord_ (Notification.message, Notification.wParam, Notification.lParam)
        .判断 (Notification.code = #SCN_MARGINCLICK)
            _MarginClick_ (Notification.modifiers, Notification.position, Notification.margin)
        .判断 (Notification.code = #SCN_NEEDSHOWN)
            _NeedShown_ (Notification.position, Notification.length)
        .判断 (Notification.code = #SCN_PAINTED)
            _Painted_ ()
        .判断 (Notification.code = #SCN_USERLISTSELECTION)
            _UserListSelection_ (Notification.listType, _Text_ (Notification.text), Notification.position, _ch_ (Notification.ch), Notification.listCompletionMethod)
        .判断 (Notification.code = #SCN_URIDROPPED)
            _URIDropped_ (_Text_ (Notification.text))
        .判断 (Notification.code = #SCN_DWELLSTART)
            _DwellStart_ (Notification.position, Notification.x, Notification.y)
        .判断 (Notification.code = #SCN_DWELLEND)
            _DwellEnd_ (Notification.position, Notification.x, Notification.y)
        .判断 (Notification.code = #SCN_ZOOM)
            _Zoom_ ()
        .判断 (Notification.code = #SCN_HOTSPOTCLICK)
            _HotSpotClick_ (Notification.modifiers, Notification.position)
        .判断 (Notification.code = #SCN_HOTSPOTDOUBLECLICK)
            _HotSpotDoubleClick_ (Notification.modifiers, Notification.position)
        .判断 (Notification.code = #SCN_CALLTIPCLICK)
            _CallTipClick_ (Notification.position)
        .判断 (Notification.code = #SCN_AUTOCSELECTION)
            _AutoCSelection_ (_Text_ (Notification.text), Notification.position, _ch_ (Notification.ch), Notification.listCompletionMethod)
        .判断 (Notification.code = #SCN_INDICATORCLICK)
            _IndicatorClick_ (Notification.modifiers, Notification.position)
        .判断 (Notification.code = #SCN_INDICATORRELEASE)
            _IndicatorRelease_ (Notification.modifiers, Notification.position)
        .判断 (Notification.code = #SCN_AUTOCCANCELLED)
            _AutoCCancelled_ ()
        .判断 (Notification.code = #SCN_AUTOCCHARDELETED)
            _AutoCCharDeleted_ ()
        .判断 (Notification.code = #SCN_HOTSPOTRELEASECLICK)
            _HotSpotReleaseClick_ (Notification.modifiers, Notification.position)
        .判断 (Notification.code = #SCN_FOCUSIN)
            _FocusIn_ ()
        .判断 (Notification.code = #SCN_FOCUSOUT)
            _FocusOut_ ()
        .判断 (Notification.code = #SCN_AUTOCCOMPLETED)
            _AutoCCompleted_ (_Text_ (Notification.text), Notification.position, _ch_ (Notification.ch), Notification.listCompletionMethod)
        .判断 (Notification.code = #SCN_MARGINRIGHTCLICK)
            _MarginRightClick_ (Notification.modifiers, Notification.position, Notification.margin)
        .判断 (Notification.code = #SCN_AUTOCSELECTIONCHANGE)
            _AutoCSelectionChange_ (Notification.listType, _Text_ (Notification.text), Notification.position)
        .默认

        .判断结束
        返回 (0)
    .如果真结束

.默认

.判断结束
返回 (CallWindowProc (_WndProcParent_, hWnd, wMsg, wParam, lParam))


.子程序 _StyleNeeded_
.参数 position, 整数型

置入代码 ({ 139, 69, 8, 139, 64, 12, 139, 0, 133, 192, 116, 7, 201, 90, 137, 20, 36, 255, 224 })
' mov eax,[ebp+8]
' mov eax,[eax+12]
' mov eax,[eax]
' test eax,eax
' je x1
' leave
' pop edx
' mov [esp],edx
' jmp eax
' x1:


.子程序 _CharAdded_
.参数 ch, 整数型

置入代码 ({ 139, 69, 8, 139, 64, 12, 139, 64, 4, 133, 192, 116, 7, 201, 90, 137, 20, 36, 255, 224 })
' mov eax,[ebp+8]
' mov eax,[eax+12]
' mov eax,[eax+4]
' test eax,eax
' je x1
' leave
' pop edx
' mov [esp],edx
' jmp eax
' x1:


.子程序 _SavePointReached_

置入代码 ({ 139, 69, 8, 139, 64, 12, 139, 64, 8, 133, 192, 116, 7, 201, 90, 137, 20, 36, 255, 224 })
' mov eax,[ebp+8]
' mov eax,[eax+12]
' mov eax,[eax+8]
' test eax,eax
' je x1
' leave
' pop edx
' mov [esp],edx
' jmp eax
' x1:


.子程序 _SavePointLeft_

置入代码 ({ 139, 69, 8, 139, 64, 12, 139, 64, 12, 133, 192, 116, 7, 201, 90, 137, 20, 36, 255, 224 })
' mov eax,[ebp+8]
' mov eax,[eax+12]
' mov eax,[eax+12]
' test eax,eax
' je x1
' leave
' pop edx
' mov [esp],edx
' jmp eax
' x1:


.子程序 _ModifyAttemptRO_

置入代码 ({ 139, 69, 8, 139, 64, 12, 139, 64, 16, 133, 192, 116, 7, 201, 90, 137, 20, 36, 255, 224 })
' mov eax,[ebp+8]
' mov eax,[eax+12]
' mov eax,[eax+16]
' test eax,eax
' je x1
' leave
' pop edx
' mov [esp],edx
' jmp eax
' x1:


.子程序 _Key_
.参数 ch, 整数型
.参数 modifiers, 整数型

置入代码 ({ 139, 69, 8, 139, 64, 12, 139, 64, 20, 133, 192, 116, 7, 201, 90, 137, 20, 36, 255, 224 })
' mov eax,[ebp+8]
' mov eax,[eax+12]
' mov eax,[eax+20]
' test eax,eax
' je x1
' leave
' pop edx
' mov [esp],edx
' jmp eax
' x1:


.子程序 _DoubleClick_
.参数 modifiers, 整数型
.参数 position, 整数型
.参数 line, 整数型

置入代码 ({ 139, 69, 8, 139, 64, 12, 139, 64, 24, 133, 192, 116, 7, 201, 90, 137, 20, 36, 255, 224 })
' mov eax,[ebp+8]
' mov eax,[eax+12]
' mov eax,[eax+24]
' test eax,eax
' je x1
' leave
' pop edx
' mov [esp],edx
' jmp eax
' x1:


.子程序 _UpdateUI_
.参数 updated, 整数型

置入代码 ({ 139, 69, 8, 139, 64, 12, 139, 64, 28, 133, 192, 116, 7, 201, 90, 137, 20, 36, 255, 224 })
' mov eax,[ebp+8]
' mov eax,[eax+12]
' mov eax,[eax+28]
' test eax,eax
' je x1
' leave
' pop edx
' mov [esp],edx
' jmp eax
' x1:


.子程序 _Modified_
.参数 position, 整数型
.参数 modificationType, 整数型
.参数 text, 整数型
.参数 length, 整数型
.参数 linesAdded, 整数型
.参数 line, 整数型
.参数 foldLevelNow, 整数型
.参数 foldLevelPrev, 整数型
.参数 token, 整数型
.参数 annotationLinesAdded, 整数型

置入代码 ({ 139, 69, 8, 139, 64, 12, 139, 64, 32, 133, 192, 116, 7, 201, 90, 137, 20, 36, 255, 224 })
' mov eax,[ebp+8]
' mov eax,[eax+12]
' mov eax,[eax+32]
' test eax,eax
' je x1
' leave
' pop edx
' mov [esp],edx
' jmp eax
' x1:


.子程序 _MacroRecord_
.参数 message, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型

置入代码 ({ 139, 69, 8, 139, 64, 12, 139, 64, 36, 133, 192, 116, 7, 201, 90, 137, 20, 36, 255, 224 })
' mov eax,[ebp+8]
' mov eax,[eax+12]
' mov eax,[eax+36]
' test eax,eax
' je x1
' leave
' pop edx
' mov [esp],edx
' jmp eax
' x1:


.子程序 _MarginClick_
.参数 modifiers, 整数型
.参数 position, 整数型
.参数 margin, 整数型

置入代码 ({ 139, 69, 8, 139, 64, 12, 139, 64, 40, 133, 192, 116, 7, 201, 90, 137, 20, 36, 255, 224 })
' mov eax,[ebp+8]
' mov eax,[eax+12]
' mov eax,[eax+40]
' test eax,eax
' je x1
' leave
' pop edx
' mov [esp],edx
' jmp eax
' x1:


.子程序 _NeedShown_
.参数 position, 整数型
.参数 length, 整数型

置入代码 ({ 139, 69, 8, 139, 64, 12, 139, 64, 44, 133, 192, 116, 7, 201, 90, 137, 20, 36, 255, 224 })
' mov eax,[ebp+8]
' mov eax,[eax+12]
' mov eax,[eax+44]
' test eax,eax
' je x1
' leave
' pop edx
' mov [esp],edx
' jmp eax
' x1:


.子程序 _Painted_

置入代码 ({ 139, 69, 8, 139, 64, 12, 139, 64, 48, 133, 192, 116, 7, 201, 90, 137, 20, 36, 255, 224 })
' mov eax,[ebp+8]
' mov eax,[eax+12]
' mov eax,[eax+48]
' test eax,eax
' je x1
' leave
' pop edx
' mov [esp],edx
' jmp eax
' x1:


.子程序 _UserListSelection_
.参数 listType, 整数型
.参数 text, 整数型
.参数 position, 整数型
.参数 ch, 整数型
.参数 listCompletionMethod, 整数型

置入代码 ({ 139, 69, 8, 139, 64, 12, 139, 64, 52, 133, 192, 116, 7, 201, 90, 137, 20, 36, 255, 224 })
' mov eax,[ebp+8]
' mov eax,[eax+12]
' mov eax,[eax+52]
' test eax,eax
' je x1
' leave
' pop edx
' mov [esp],edx
' jmp eax
' x1:


.子程序 _URIDropped_
.参数 text, 整数型

置入代码 ({ 139, 69, 8, 139, 64, 12, 139, 64, 56, 133, 192, 116, 7, 201, 90, 137, 20, 36, 255, 224 })
' mov eax,[ebp+8]
' mov eax,[eax+12]
' mov eax,[eax+56]
' test eax,eax
' je x1
' leave
' pop edx
' mov [esp],edx
' jmp eax
' x1:


.子程序 _DwellStart_
.参数 position, 整数型
.参数 x, 整数型
.参数 y, 整数型

置入代码 ({ 139, 69, 8, 139, 64, 12, 139, 64, 60, 133, 192, 116, 7, 201, 90, 137, 20, 36, 255, 224 })
' mov eax,[ebp+8]
' mov eax,[eax+12]
' mov eax,[eax+60]
' test eax,eax
' je x1
' leave
' pop edx
' mov [esp],edx
' jmp eax
' x1:


.子程序 _DwellEnd_
.参数 position, 整数型
.参数 x, 整数型
.参数 y, 整数型

置入代码 ({ 139, 69, 8, 139, 64, 12, 139, 64, 64, 133, 192, 116, 7, 201, 90, 137, 20, 36, 255, 224 })
' mov eax,[ebp+8]
' mov eax,[eax+12]
' mov eax,[eax+64]
' test eax,eax
' je x1
' leave
' pop edx
' mov [esp],edx
' jmp eax
' x1:


.子程序 _Zoom_

置入代码 ({ 139, 69, 8, 139, 64, 12, 139, 64, 68, 133, 192, 116, 7, 201, 90, 137, 20, 36, 255, 224 })
' mov eax,[ebp+8]
' mov eax,[eax+12]
' mov eax,[eax+68]
' test eax,eax
' je x1
' leave
' pop edx
' mov [esp],edx
' jmp eax
' x1:


.子程序 _HotSpotClick_
.参数 modifiers, 整数型
.参数 position, 整数型

置入代码 ({ 139, 69, 8, 139, 64, 12, 139, 64, 72, 133, 192, 116, 7, 201, 90, 137, 20, 36, 255, 224 })
' mov eax,[ebp+8]
' mov eax,[eax+12]
' mov eax,[eax+72]
' test eax,eax
' je x1
' leave
' pop edx
' mov [esp],edx
' jmp eax
' x1:


.子程序 _HotSpotDoubleClick_
.参数 modifiers, 整数型
.参数 position, 整数型

置入代码 ({ 139, 69, 8, 139, 64, 12, 139, 64, 76, 133, 192, 116, 7, 201, 90, 137, 20, 36, 255, 224 })
' mov eax,[ebp+8]
' mov eax,[eax+12]
' mov eax,[eax+76]
' test eax,eax
' je x1
' leave
' pop edx
' mov [esp],edx
' jmp eax
' x1:


.子程序 _CallTipClick_
.参数 positionz, 整数型

置入代码 ({ 139, 69, 8, 139, 64, 12, 139, 64, 80, 133, 192, 116, 7, 201, 90, 137, 20, 36, 255, 224 })
' mov eax,[ebp+8]
' mov eax,[eax+12]
' mov eax,[eax+80]
' test eax,eax
' je x1
' leave
' pop edx
' mov [esp],edx
' jmp eax
' x1:


.子程序 _AutoCSelection_
.参数 text, 整数型
.参数 position, 整数型
.参数 ch, 整数型
.参数 listCompletionMethod, 整数型

置入代码 ({ 139, 69, 8, 139, 64, 12, 139, 64, 84, 133, 192, 116, 7, 201, 90, 137, 20, 36, 255, 224 })
' mov eax,[ebp+8]
' mov eax,[eax+12]
' mov eax,[eax+84]
' test eax,eax
' je x1
' leave
' pop edx
' mov [esp],edx
' jmp eax
' x1:


.子程序 _IndicatorClick_
.参数 modifiers, 整数型
.参数 position, 整数型

置入代码 ({ 139, 69, 8, 139, 64, 12, 139, 64, 88, 133, 192, 116, 7, 201, 90, 137, 20, 36, 255, 224 })
' mov eax,[ebp+8]
' mov eax,[eax+12]
' mov eax,[eax+88]
' test eax,eax
' je x1
' leave
' pop edx
' mov [esp],edx
' jmp eax
' x1:


.子程序 _IndicatorRelease_
.参数 modifiers, 整数型
.参数 position, 整数型

置入代码 ({ 139, 69, 8, 139, 64, 12, 139, 64, 92, 133, 192, 116, 7, 201, 90, 137, 20, 36, 255, 224 })
' mov eax,[ebp+8]
' mov eax,[eax+12]
' mov eax,[eax+92]
' test eax,eax
' je x1
' leave
' pop edx
' mov [esp],edx
' jmp eax
' x1:


.子程序 _AutoCCancelled_

置入代码 ({ 139, 69, 8, 139, 64, 12, 139, 64, 96, 133, 192, 116, 7, 201, 90, 137, 20, 36, 255, 224 })
' mov eax,[ebp+8]
' mov eax,[eax+12]
' mov eax,[eax+96]
' test eax,eax
' je x1
' leave
' pop edx
' mov [esp],edx
' jmp eax
' x1:


.子程序 _AutoCCharDeleted_

置入代码 ({ 139, 69, 8, 139, 64, 12, 139, 64, 100, 133, 192, 116, 7, 201, 90, 137, 20, 36, 255, 224 })
' mov eax,[ebp+8]
' mov eax,[eax+12]
' mov eax,[eax+100]
' test eax,eax
' je x1
' leave
' pop edx
' mov [esp],edx
' jmp eax
' x1:


.子程序 _HotSpotReleaseClick_
.参数 modifiers, 整数型
.参数 position, 整数型

置入代码 ({ 139, 69, 8, 139, 64, 12, 139, 64, 104, 133, 192, 116, 7, 201, 90, 137, 20, 36, 255, 224 })
' mov eax,[ebp+8]
' mov eax,[eax+12]
' mov eax,[eax+104]
' test eax,eax
' je x1
' leave
' pop edx
' mov [esp],edx
' jmp eax
' x1:


.子程序 _FocusIn_

置入代码 ({ 139, 69, 8, 139, 64, 12, 139, 64, 108, 133, 192, 116, 7, 201, 90, 137, 20, 36, 255, 224 })
' mov eax,[ebp+8]
' mov eax,[eax+12]
' mov eax,[eax+108]
' test eax,eax
' je x1
' leave
' pop edx
' mov [esp],edx
' jmp eax
' x1:


.子程序 _FocusOut_

置入代码 ({ 139, 69, 8, 139, 64, 12, 139, 64, 112, 133, 192, 116, 7, 201, 90, 137, 20, 36, 255, 224 })
' mov eax,[ebp+8]
' mov eax,[eax+12]
' mov eax,[eax+112]
' test eax,eax
' je x1
' leave
' pop edx
' mov [esp],edx
' jmp eax
' x1:


.子程序 _AutoCCompleted_
.参数 text, 整数型
.参数 position, 整数型
.参数 ch, 整数型
.参数 listCompletionMethod, 整数型

置入代码 ({ 139, 69, 8, 139, 64, 12, 139, 64, 116, 133, 192, 116, 7, 201, 90, 137, 20, 36, 255, 224 })
' mov eax,[ebp+8]
' mov eax,[eax+12]
' mov eax,[eax+116]
' test eax,eax
' je x1
' leave
' pop edx
' mov [esp],edx
' jmp eax
' x1:


.子程序 _MarginRightClick_
.参数 modifiers, 整数型
.参数 position, 整数型
.参数 margin, 整数型

置入代码 ({ 139, 69, 8, 139, 64, 12, 139, 64, 120, 133, 192, 116, 7, 201, 90, 137, 20, 36, 255, 224 })
' mov eax,[ebp+8]
' mov eax,[eax+12]
' mov eax,[eax+120]
' test eax,eax
' je x1
' leave
' pop edx
' mov [esp],edx
' jmp eax
' x1:


.子程序 _AutoCSelectionChange_
.参数 listType, 整数型
.参数 text, 整数型
.参数 position, 整数型

置入代码 ({ 139, 69, 8, 139, 64, 12, 139, 64, 124, 133, 192, 116, 7, 201, 90, 137, 20, 36, 255, 224 })
' mov eax,[ebp+8]
' mov eax,[eax+12]
' mov eax,[eax+124]
' test eax,eax
' je x1
' leave
' pop edx
' mov [esp],edx
' jmp eax
' x1:


.子程序 _FnCall_, 整数型
.参数 wMsg, 整数型
.参数 wParam, 通用型
.参数 lParam, 通用型

置入代码 ({ 201, 139, 84, 36, 4, 139, 18, 139, 66, 8, 137, 68, 36, 4, 255, 98, 4 })
' leave
' mov edx,[esp+4]
' mov edx,[edx]
' mov eax,[edx+8]
' mov [esp+4],eax
' jmp [edx+4]
返回 (0)


.子程序 IsCreate, 逻辑型, 公开

返回 (_IsCreate_)


.子程序 Create, 逻辑型, 公开
.参数 hWndParent, 整数型
.参数 x, 整数型, 可空
.参数 y, 整数型, 可空
.参数 Width, 整数型
.参数 Height, 整数型

_hWnd_ = CreateWindowEx (0, “Scintilla”, 0, 位或 (#WS_CHILD, #WS_CLIPCHILDREN, #WS_CLIPSIBLINGS, #WS_TABSTOP, #WS_VISIBLE), x, y, Width, Height, hWndParent, 0, _hInstance_, 0)
.如果真 (_hWnd_ ≠ 0)
    _Fn_ = SendMessage (_hWnd_, #SCI_GETDIRECTFUNCTION, 0, 0)
    置入代码 ({ 139, 85, 8, 139, 74, 4, 137, 65, 4, 139, 74, 8, 137, 65, 4 })
    ' mov edx,[ebp+8]
    ' mov ecx,[edx+4]
    ' mov [ecx+4],eax
    ' mov ecx,[edx+8]
    ' mov [ecx+4],eax
    _Ptr_ = SendMessage (_hWnd_, #SCI_GETDIRECTPOINTER, 0, 0)
    置入代码 ({ 139, 85, 8, 139, 74, 4, 137, 65, 8, 139, 74, 8, 137, 65, 8 })
    ' mov edx,[ebp+8]
    ' mov ecx,[edx+4]
    ' mov [ecx+8],eax
    ' mov ecx,[edx+8]
    ' mov [ecx+8],eax
    _WndProc_ = SetWindowLong (_hWnd_, #GWL_WNDPROC, _NewWndProc_)
    _WndProcParent_ = SetWindowLong (hWndParent, #GWL_WNDPROC, _NewWndProcParent_)
    _IsCreate_ = 真
    _hWndParent_ = hWndParent
    SetRect (_WndXYWH_, x, y, Width, Height)
.如果真结束
返回 (_IsCreate_)


.子程序 Destroy, 逻辑型, 公开

返回 (DestroyWindow (_hWnd_))


.子程序 Move, 逻辑型, 公开
.参数 x, 整数型, 可空
.参数 y, 整数型, 可空
.参数 Width, 整数型, 可空
.参数 Height, 整数型, 可空

.如果真 (是否为空 (x) = 假)
    _WndXYWH_.x = x
.如果真结束
.如果真 (是否为空 (y) = 假)
    _WndXYWH_.y = y
.如果真结束
.如果真 (是否为空 (Width) = 假)
    _WndXYWH_.Width = Width
.如果真结束
.如果真 (是否为空 (Height) = 假)
    _WndXYWH_.Height = Height
.如果真结束
返回 (MoveWindow (_hWnd_, _WndXYWH_.x, _WndXYWH_.y, _WndXYWH_.Width, _WndXYWH_.Height, 真))

@轻飘飘的风

文件下载


来源:三叶资源网,欢迎分享,公众号:iisanye,(三叶资源网⑤群:21414575

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

百度站内搜索
关注微信公众号
三叶资源网⑤群:三叶资源网⑤群

网站分类
随机tag
Chrome开发工具教程WebSocket线程ITrayNotifyAPP加密图片旋转工具表情包制作HookHP-socket3E2EE易语言基础教程模块反编译失败代码猴子分桃二维数组常量支持库内存皮肤多线程传文本型参数TGP自动上号网易clientToken
最新评论