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

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

Scintilla模块源码

三叶资源网 2019-06-11 09:46:52 易语言模块源码 1297 ℃ 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
熊猫tv弹幕软件QQPC8.6协议源码自动发布消息miniblink历史登录QQRC4算法同步应用python listCryptoJS加密模块解析视频教程考勤机群控模拟器DLL函数查看翻译工具网页删除空cookieudp广播组播防OD附加源码网页解析类文本处理置入汇编
最新评论