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

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

Scintilla模块源码

三叶资源网 2019-06-11 09:46:52 易语言模块源码 1881 ℃ 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
4399登录QQ空间触屏版协议万能快递单打印变量数据交换获取控制台应用返回值炫彩界面FTP服务器htmlHelp新浪Tencent企点加好友APK查询工具socks5代理画CPU折线图正态分布无限长度后台截图胆码不重复算法抓包工具扫码枪数据获取网页POST
最新评论