mirror of
https://github.com/stasenso/SHA256.git
synced 2026-06-27 05:42:43 +03:00
Подготовка среды x64
This commit is contained in:
@@ -0,0 +1,600 @@
|
||||
; ¤=÷=¤=÷=¤=÷=¤=÷=¤=÷=¤=÷=¤=÷=¤=÷=¤=÷=¤=÷=¤=÷=¤=÷=¤=÷=¤=÷=¤=÷=¤=÷=¤=÷=¤=÷=¤
|
||||
;
|
||||
; Macros for in memory dialog templates
|
||||
;
|
||||
; ¤=÷=¤=÷=¤=÷=¤=÷=¤=÷=¤=÷=¤=÷=¤=÷=¤=÷=¤=÷=¤=÷=¤=÷=¤=÷=¤=÷=¤=÷=¤=÷=¤=÷=¤=÷=¤
|
||||
|
||||
; ----------------------------------------
|
||||
; 2 macros for aligning a 32 bit register
|
||||
; ----------------------------------------
|
||||
|
||||
align_2 MACRO reg
|
||||
add reg, 1
|
||||
and reg, -2
|
||||
ENDM
|
||||
|
||||
align_4 MACRO reg
|
||||
add reg, 3
|
||||
and reg, -4
|
||||
ENDM
|
||||
|
||||
; ------------------------------------------------
|
||||
; write unicode string at current location in EDI
|
||||
; ------------------------------------------------
|
||||
ustring MACRO quoted_text
|
||||
LOCAL asc_txt
|
||||
.data
|
||||
asc_txt db quoted_text,0
|
||||
.code
|
||||
invoke MultiByteToWideChar,CP_ACP,MB_PRECOMPOSED,
|
||||
ADDR asc_txt,-1,edi,LENGTHOF asc_txt
|
||||
add edi, LENGTHOF asc_txt*2
|
||||
ENDM
|
||||
|
||||
; --------------
|
||||
; dialog window
|
||||
; --------------
|
||||
Dialog MACRO quoted_text_title,quoted_font,fsize,dstyle,ctlcnt,tx,ty,wd,ht,bsize
|
||||
push esi
|
||||
push edi
|
||||
invoke GlobalAlloc,GMEM_FIXED or GMEM_ZEROINIT,bsize
|
||||
mov esi, eax
|
||||
mov edi, esi
|
||||
mov DWORD PTR [edi+0], DS_SETFONT or dstyle
|
||||
mov WORD PTR [edi+8], ctlcnt
|
||||
mov WORD PTR [edi+10], tx
|
||||
mov WORD PTR [edi+12], ty
|
||||
mov WORD PTR [edi+14], wd
|
||||
mov WORD PTR [edi+16], ht
|
||||
add edi, 22
|
||||
ustring quoted_text_title
|
||||
mov WORD PTR [edi], fsize
|
||||
add edi, 2
|
||||
ustring quoted_font
|
||||
ENDM
|
||||
|
||||
; DLGITEMTEMPLATE
|
||||
|
||||
; ------------
|
||||
; push button
|
||||
; ------------
|
||||
DlgButton MACRO quoted_caption,dstyle,tx,ty,wd,ht,ctlID
|
||||
align_4 edi
|
||||
mov DWORD PTR [edi+0], WS_VISIBLE or WS_CHILD or dstyle
|
||||
mov WORD PTR [edi+8], tx
|
||||
mov WORD PTR [edi+10], ty
|
||||
mov WORD PTR [edi+12], wd
|
||||
mov WORD PTR [edi+14], ht
|
||||
mov WORD PTR [edi+16], ctlID
|
||||
mov WORD PTR [edi+18], 0FFFFh ;; class array
|
||||
mov WORD PTR [edi+20], 0080h ;; button
|
||||
add edi, 22
|
||||
ustring quoted_caption
|
||||
align_2 edi
|
||||
add edi, 2
|
||||
ENDM
|
||||
|
||||
; -------------
|
||||
; radio button
|
||||
; -------------
|
||||
DlgRadio MACRO quoted_caption,dstyle,tx,ty,wd,ht,ctlID
|
||||
align_4 edi
|
||||
mov DWORD PTR [edi+0], WS_VISIBLE or WS_CHILD or BS_AUTORADIOBUTTON or dstyle
|
||||
mov WORD PTR [edi+8], tx
|
||||
mov WORD PTR [edi+10], ty
|
||||
mov WORD PTR [edi+12], wd
|
||||
mov WORD PTR [edi+14], ht
|
||||
mov WORD PTR [edi+16], ctlID
|
||||
mov WORD PTR [edi+18], 0FFFFh ;; class array
|
||||
mov WORD PTR [edi+20], 0080h ;; button
|
||||
add edi, 22
|
||||
ustring quoted_caption
|
||||
align_2 edi
|
||||
add edi, 2
|
||||
ENDM
|
||||
|
||||
; ----------
|
||||
; check box
|
||||
; ----------
|
||||
DlgCheck MACRO quoted_caption,dstyle,tx,ty,wd,ht,ctlID
|
||||
align_4 edi
|
||||
mov DWORD PTR [edi+0], WS_VISIBLE or WS_CHILD or BS_AUTOCHECKBOX or dstyle
|
||||
mov WORD PTR [edi+8], tx
|
||||
mov WORD PTR [edi+10], ty
|
||||
mov WORD PTR [edi+12], wd
|
||||
mov WORD PTR [edi+14], ht
|
||||
mov WORD PTR [edi+16], ctlID
|
||||
mov WORD PTR [edi+18], 0FFFFh ;; class array
|
||||
mov WORD PTR [edi+20], 0080h ;; button
|
||||
add edi, 22
|
||||
ustring quoted_caption
|
||||
align_2 edi
|
||||
add edi, 2
|
||||
ENDM
|
||||
|
||||
; ----------
|
||||
; group box
|
||||
; ----------
|
||||
DlgGroup MACRO quoted_caption,tx,ty,wd,ht,ctlID
|
||||
align_4 edi
|
||||
mov DWORD PTR [edi+0], WS_VISIBLE or WS_CHILD or BS_GROUPBOX
|
||||
mov WORD PTR [edi+8], tx
|
||||
mov WORD PTR [edi+10], ty
|
||||
mov WORD PTR [edi+12], wd
|
||||
mov WORD PTR [edi+14], ht
|
||||
mov WORD PTR [edi+16], ctlID
|
||||
mov WORD PTR [edi+18], 0FFFFh ;; class array
|
||||
mov WORD PTR [edi+20], 0080h ;; button
|
||||
add edi, 22
|
||||
ustring quoted_caption
|
||||
align_2 edi
|
||||
add edi, 2
|
||||
ENDM
|
||||
|
||||
; ---------------
|
||||
; static control
|
||||
; ---------------
|
||||
DlgStatic MACRO quoted_caption,dstyle,tx,ty,wd,ht,ctlID
|
||||
align_4 edi
|
||||
mov DWORD PTR [edi+0], WS_VISIBLE or WS_CHILD or dstyle
|
||||
mov WORD PTR [edi+8], tx
|
||||
mov WORD PTR [edi+10], ty
|
||||
mov WORD PTR [edi+12], wd
|
||||
mov WORD PTR [edi+14], ht
|
||||
mov WORD PTR [edi+16], ctlID
|
||||
mov WORD PTR [edi+18], 0FFFFh ;; class array
|
||||
mov WORD PTR [edi+20], 0082h ;; static
|
||||
add edi, 22
|
||||
ustring quoted_caption
|
||||
align_2 edi
|
||||
add edi, 2
|
||||
ENDM
|
||||
|
||||
; ---------------
|
||||
; icon control
|
||||
; ---------------
|
||||
DlgIcon MACRO IconID,tx,ty,ctlID
|
||||
align_4 edi
|
||||
mov DWORD PTR [edi+0], WS_VISIBLE or WS_CHILD or SS_ICON
|
||||
mov WORD PTR [edi+8], tx
|
||||
mov WORD PTR [edi+10], ty
|
||||
mov WORD PTR [edi+16], ctlID
|
||||
mov WORD PTR [edi+18], 0FFFFh ;; class array
|
||||
mov WORD PTR [edi+20], 0082h ;; static
|
||||
mov WORD PTR [edi+22], 0FFFFh ;; title array
|
||||
mov WORD PTR [edi+24], IconID
|
||||
add edi, 26
|
||||
ENDM
|
||||
|
||||
; ---------------
|
||||
; bitmap control
|
||||
; ---------------
|
||||
DlgBitmap MACRO BmpID,tx,ty,ctlID
|
||||
align_4 edi
|
||||
mov DWORD PTR [edi+0], WS_VISIBLE or WS_CHILD or SS_BITMAP
|
||||
mov WORD PTR [edi+8], tx
|
||||
mov WORD PTR [edi+10], ty
|
||||
mov WORD PTR [edi+16], ctlID
|
||||
mov WORD PTR [edi+18], 0FFFFh ;; class array
|
||||
mov WORD PTR [edi+20], 0082h ;; static
|
||||
mov WORD PTR [edi+22], 0FFFFh ;; title array
|
||||
mov WORD PTR [edi+24], BmpID
|
||||
add edi, 26
|
||||
ENDM
|
||||
|
||||
; ---------------
|
||||
; icon_ex control
|
||||
; ---------------
|
||||
DlgIconEx MACRO IconID,tx,ty,wd,ht,ctlID
|
||||
align_4 edi
|
||||
mov DWORD PTR [edi+0], WS_VISIBLE or WS_CHILD or SS_ICON or SS_CENTERIMAGE
|
||||
mov WORD PTR [edi+8], tx
|
||||
mov WORD PTR [edi+10], ty
|
||||
mov WORD PTR [edi+12], wd
|
||||
mov WORD PTR [edi+14], ht
|
||||
mov WORD PTR [edi+16], ctlID
|
||||
mov WORD PTR [edi+18], 0FFFFh ;; class array
|
||||
mov WORD PTR [edi+20], 0082h ;; static
|
||||
mov WORD PTR [edi+22], 0FFFFh ;; title array
|
||||
mov WORD PTR [edi+24], IconID
|
||||
add edi, 26
|
||||
ENDM
|
||||
|
||||
; -----------------
|
||||
; bitmap_ex control
|
||||
; -----------------
|
||||
DlgBitmapEx MACRO BmpID,tx,ty,wd,ht,ctlID
|
||||
align_4 edi
|
||||
mov DWORD PTR [edi+0], WS_VISIBLE or WS_CHILD or SS_BITMAP or SS_CENTERIMAGE
|
||||
mov WORD PTR [edi+8], tx
|
||||
mov WORD PTR [edi+10], ty
|
||||
mov WORD PTR [edi+12], wd
|
||||
mov WORD PTR [edi+14], ht
|
||||
mov WORD PTR [edi+16], ctlID
|
||||
mov WORD PTR [edi+18], 0FFFFh ;; class array
|
||||
mov WORD PTR [edi+20], 0082h ;; static
|
||||
mov WORD PTR [edi+22], 0FFFFh ;; title array
|
||||
mov WORD PTR [edi+24], BmpID
|
||||
add edi, 26
|
||||
ENDM
|
||||
|
||||
; -------------
|
||||
; edit control
|
||||
; -------------
|
||||
DlgEdit MACRO dstyle,tx,ty,wd,ht,ctlID
|
||||
align_4 edi
|
||||
mov DWORD PTR [edi+0], WS_VISIBLE or WS_CHILD or dstyle
|
||||
mov WORD PTR [edi+8], tx
|
||||
mov WORD PTR [edi+10], ty
|
||||
mov WORD PTR [edi+12], wd
|
||||
mov WORD PTR [edi+14], ht
|
||||
mov WORD PTR [edi+16], ctlID
|
||||
mov WORD PTR [edi+18], 0FFFFh
|
||||
mov WORD PTR [edi+20], 0081h ;; edit control
|
||||
add edi, 26
|
||||
ENDM
|
||||
|
||||
; ---------
|
||||
; list box
|
||||
; ---------
|
||||
DlgList MACRO dstyle,tx,ty,wd,ht,ctlID
|
||||
align_4 edi
|
||||
mov DWORD PTR [edi+0], WS_VISIBLE or WS_CHILD or dstyle
|
||||
mov WORD PTR [edi+8], tx
|
||||
mov WORD PTR [edi+10], ty
|
||||
mov WORD PTR [edi+12], wd
|
||||
mov WORD PTR [edi+14], ht
|
||||
mov WORD PTR [edi+16], ctlID
|
||||
mov WORD PTR [edi+18], 0FFFFh
|
||||
mov WORD PTR [edi+20], 0083h ;; edit control
|
||||
add edi, 26
|
||||
ENDM
|
||||
|
||||
; ----------
|
||||
; combo box
|
||||
; ----------
|
||||
DlgCombo MACRO dstyle,tx,ty,wd,ht,ctlID
|
||||
align_4 edi
|
||||
mov DWORD PTR [edi+0], WS_VISIBLE or WS_CHILD or dstyle
|
||||
mov WORD PTR [edi+8], tx
|
||||
mov WORD PTR [edi+10], ty
|
||||
mov WORD PTR [edi+12], wd
|
||||
mov WORD PTR [edi+14], ht
|
||||
mov WORD PTR [edi+16], ctlID
|
||||
mov WORD PTR [edi+18], 0FFFFh
|
||||
mov WORD PTR [edi+20], 0085h ;; edit control
|
||||
add edi, 26
|
||||
ENDM
|
||||
|
||||
; -----------
|
||||
; scroll bar
|
||||
; -----------
|
||||
DlgScroll MACRO dstyle,tx,ty,wd,ht,ctlID
|
||||
align_4 edi
|
||||
mov DWORD PTR [edi+0], WS_VISIBLE or WS_CHILD or dstyle
|
||||
mov WORD PTR [edi+8], tx
|
||||
mov WORD PTR [edi+10], ty
|
||||
mov WORD PTR [edi+12], wd
|
||||
mov WORD PTR [edi+14], ht
|
||||
mov WORD PTR [edi+16], ctlID
|
||||
mov WORD PTR [edi+18], 0FFFFh
|
||||
mov WORD PTR [edi+20], 0084h ;; edit control
|
||||
add edi, 26
|
||||
ENDM
|
||||
|
||||
; "SysHeader32" ok
|
||||
; "ToolbarWindow32" ok
|
||||
; "msctls_statusbar32" ok
|
||||
; "msctls_trackbar32" ok
|
||||
; "msctls_updown32" ok
|
||||
; "msctls_progress32" ok
|
||||
; "SysListView32" ok
|
||||
; "SysTreeView32" ok
|
||||
; "SysTabControl32" ok
|
||||
; "SysAnimate32" ok
|
||||
; "RichEdit" ok
|
||||
; "RichEdit20a" ok
|
||||
; "SysMonthCal32" ok
|
||||
; "SysDateTimePick32" ok
|
||||
; "SysIPAddress32" ok
|
||||
; "msctls_hotkey32" ok
|
||||
; "ReBarWindow32" ok
|
||||
; "SysPager" ok
|
||||
|
||||
; "NativeFontCtl"
|
||||
; "commctrl_DragListMsg"
|
||||
; "ComboBoxEx32"
|
||||
; "tooltips_class32"
|
||||
|
||||
; ---------------------------------------------
|
||||
; controls below from the common control
|
||||
; library require the API "InitCommonControls"
|
||||
; to initialise the common control library.
|
||||
; Later common controls require the API
|
||||
; "InitCommonControlsEx".
|
||||
; ---------------------------------------------
|
||||
; These are the styles that activate the common control library
|
||||
; for each type of control listed that must be placed in the "dwICC"
|
||||
; member of the "INITCOMMONCONTROLSEX" structure used by the API
|
||||
; function "InitCommonControlsEx".
|
||||
; ---------------------------------------------
|
||||
|
||||
; ICC_ANIMATE_CLASS Load animate control class.
|
||||
; ICC_BAR_CLASSES Load toolbar, status bar,
|
||||
; trackbar, and tooltip control classes.
|
||||
; ICC_COOL_CLASSES Load rebar control class.
|
||||
; ICC_DATE_CLASSES Load date and time picker control class.
|
||||
; ICC_HOTKEY_CLASS Load hot key control class.
|
||||
; ICC_INTERNET_CLASSES Load IP address class.
|
||||
; ICC_LISTVIEW_CLASSES Load list view and header control classes.
|
||||
; ICC_PAGESCROLLER_CLASS Load pager control class.
|
||||
; ICC_PROGRESS_CLASS Load progress bar control class.
|
||||
; ICC_TAB_CLASSES Load tab and tooltip control classes.
|
||||
; ICC_TREEVIEW_CLASSES Load tree view and tooltip control classes.
|
||||
; ICC_UPDOWN_CLASS Load up-down control class.
|
||||
; ICC_USEREX_CLASSES Load ComboBoxEx class.
|
||||
; ICC_WIN95_CLASSES Load animate control, header, hot key,
|
||||
; list view, progress bar, status bar, tab,
|
||||
; tooltip, toolbar, trackbar, tree view,
|
||||
; and up-down control classes.
|
||||
|
||||
; -------------------------------------
|
||||
; general purpose common control macro
|
||||
; -------------------------------------
|
||||
DlgComCtl MACRO quoted_class,dstyle,tx,ty,wd,ht,ctlID
|
||||
align_4 edi
|
||||
mov DWORD PTR [edi+0], WS_VISIBLE or WS_CHILD or dstyle
|
||||
mov WORD PTR [edi+8], tx
|
||||
mov WORD PTR [edi+10], ty
|
||||
mov WORD PTR [edi+12], wd
|
||||
mov WORD PTR [edi+14], ht
|
||||
mov WORD PTR [edi+16], ctlID
|
||||
add edi, 18
|
||||
ustring quoted_class
|
||||
align_2 edi
|
||||
add edi, 4
|
||||
ENDM
|
||||
|
||||
; --------------
|
||||
; rebar control
|
||||
; --------------
|
||||
DlgRebar MACRO dstyle,tx,ty,wd,ht,ctlID
|
||||
align_4 edi
|
||||
mov DWORD PTR [edi+0], WS_VISIBLE or WS_CHILD or dstyle
|
||||
mov WORD PTR [edi+8], tx
|
||||
mov WORD PTR [edi+10], ty
|
||||
mov WORD PTR [edi+12], wd
|
||||
mov WORD PTR [edi+14], ht
|
||||
mov WORD PTR [edi+16], ctlID
|
||||
add edi, 18
|
||||
ustring "ReBarWindow32"
|
||||
align_2 edi
|
||||
add edi, 4
|
||||
ENDM
|
||||
|
||||
; ---------------
|
||||
; hotkey control
|
||||
; ---------------
|
||||
DlgHotkey MACRO dstyle,tx,ty,wd,ht,ctlID
|
||||
align_4 edi
|
||||
mov DWORD PTR [edi+0], WS_VISIBLE or WS_CHILD or dstyle
|
||||
mov WORD PTR [edi+8], tx
|
||||
mov WORD PTR [edi+10], ty
|
||||
mov WORD PTR [edi+12], wd
|
||||
mov WORD PTR [edi+14], ht
|
||||
mov WORD PTR [edi+16], ctlID
|
||||
add edi, 18
|
||||
ustring "msctls_hotkey32"
|
||||
align_2 edi
|
||||
add edi, 4
|
||||
ENDM
|
||||
|
||||
|
||||
; -------------------
|
||||
; IP address control
|
||||
; -------------------
|
||||
DlgIPAddress MACRO dstyle,tx,ty,wd,ht,ctlID
|
||||
align_4 edi
|
||||
mov DWORD PTR [edi+0], WS_VISIBLE or WS_CHILD or dstyle
|
||||
mov WORD PTR [edi+8], tx
|
||||
mov WORD PTR [edi+10], ty
|
||||
mov WORD PTR [edi+12], wd
|
||||
mov WORD PTR [edi+14], ht
|
||||
mov WORD PTR [edi+16], ctlID
|
||||
add edi, 18
|
||||
ustring "SysIPAddress32"
|
||||
align_2 edi
|
||||
add edi, 4
|
||||
ENDM
|
||||
|
||||
; -----------------
|
||||
; data time picker
|
||||
; -----------------
|
||||
DlgDateTime MACRO dstyle,tx,ty,wd,ht,ctlID
|
||||
align_4 edi
|
||||
mov DWORD PTR [edi+0], WS_VISIBLE or WS_CHILD or dstyle
|
||||
mov WORD PTR [edi+8], tx
|
||||
mov WORD PTR [edi+10], ty
|
||||
mov WORD PTR [edi+12], wd
|
||||
mov WORD PTR [edi+14], ht
|
||||
mov WORD PTR [edi+16], ctlID
|
||||
add edi, 18
|
||||
ustring "SysDateTimePick32"
|
||||
align_2 edi
|
||||
add edi, 4
|
||||
ENDM
|
||||
|
||||
; ---------------
|
||||
; month calender
|
||||
; ---------------
|
||||
DlgMonthCal MACRO dstyle,tx,ty,wd,ht,ctlID
|
||||
align_4 edi
|
||||
mov DWORD PTR [edi+0], WS_VISIBLE or WS_CHILD or dstyle
|
||||
mov WORD PTR [edi+8], tx
|
||||
mov WORD PTR [edi+10], ty
|
||||
mov WORD PTR [edi+12], wd
|
||||
mov WORD PTR [edi+14], ht
|
||||
mov WORD PTR [edi+16], ctlID
|
||||
add edi, 18
|
||||
ustring "SysMonthCal32"
|
||||
align_2 edi
|
||||
add edi, 4
|
||||
ENDM
|
||||
|
||||
; -----------
|
||||
; status bar
|
||||
; -----------
|
||||
DlgStatus MACRO ctlID
|
||||
align_4 edi
|
||||
mov DWORD PTR [edi+0], WS_VISIBLE or WS_CHILD
|
||||
mov WORD PTR [edi+16], ctlID
|
||||
add edi, 18
|
||||
ustring "msctls_statusbar32"
|
||||
align_2 edi
|
||||
add edi, 2
|
||||
ENDM
|
||||
|
||||
; -------------
|
||||
; progress bar
|
||||
; -------------
|
||||
DlgProgress MACRO dstyle,tx,ty,wd,ht,ctlID
|
||||
align_4 edi
|
||||
mov DWORD PTR [edi+0], WS_VISIBLE or WS_CHILD or dstyle
|
||||
mov WORD PTR [edi+8], tx
|
||||
mov WORD PTR [edi+10], ty
|
||||
mov WORD PTR [edi+12], wd
|
||||
mov WORD PTR [edi+14], ht
|
||||
mov WORD PTR [edi+16], ctlID
|
||||
add edi, 18
|
||||
ustring "msctls_progress32"
|
||||
align_2 edi
|
||||
add edi, 2
|
||||
ENDM
|
||||
|
||||
; ------------------
|
||||
; list view control
|
||||
; ------------------
|
||||
DlgListView MACRO dstyle,tx,ty,wd,ht,ctlID
|
||||
align_4 edi
|
||||
mov DWORD PTR [edi+0], WS_VISIBLE or WS_CHILD or dstyle
|
||||
mov WORD PTR [edi+8], tx
|
||||
mov WORD PTR [edi+10], ty
|
||||
mov WORD PTR [edi+12], wd
|
||||
mov WORD PTR [edi+14], ht
|
||||
mov WORD PTR [edi+16], ctlID
|
||||
add edi, 18
|
||||
ustring "SysListView32"
|
||||
align_2 edi
|
||||
add edi, 2
|
||||
ENDM
|
||||
|
||||
DlgTreeView MACRO dstyle,tx,ty,wd,ht,ctlID
|
||||
align_4 edi
|
||||
mov DWORD PTR [edi+0], WS_VISIBLE or WS_CHILD or dstyle
|
||||
mov WORD PTR [edi+8], tx
|
||||
mov WORD PTR [edi+10], ty
|
||||
mov WORD PTR [edi+12], wd
|
||||
mov WORD PTR [edi+14], ht
|
||||
mov WORD PTR [edi+16], ctlID
|
||||
add edi, 18
|
||||
ustring "SysTreeView32"
|
||||
align_2 edi
|
||||
add edi, 2
|
||||
ENDM
|
||||
|
||||
; ------------
|
||||
; tab control
|
||||
; ------------
|
||||
DlgTabControl MACRO dstyle,tx,ty,wd,ht,ctlID
|
||||
align_4 edi
|
||||
mov DWORD PTR [edi+0], WS_VISIBLE or WS_CHILD or dstyle
|
||||
mov WORD PTR [edi+8], tx
|
||||
mov WORD PTR [edi+10], ty
|
||||
mov WORD PTR [edi+12], wd
|
||||
mov WORD PTR [edi+14], ht
|
||||
mov WORD PTR [edi+16], ctlID
|
||||
add edi, 18
|
||||
ustring "SysTabControl32"
|
||||
align_2 edi
|
||||
add edi, 2
|
||||
ENDM
|
||||
|
||||
; ------------------
|
||||
; animation control
|
||||
; ------------------
|
||||
DlgAnimate MACRO dstyle,tx,ty,wd,ht,ctlID
|
||||
align_4 edi
|
||||
mov DWORD PTR [edi+0], WS_VISIBLE or WS_CHILD or dstyle
|
||||
mov WORD PTR [edi+8], tx
|
||||
mov WORD PTR [edi+10], ty
|
||||
mov WORD PTR [edi+12], wd
|
||||
mov WORD PTR [edi+14], ht
|
||||
mov WORD PTR [edi+16], ctlID
|
||||
add edi, 18
|
||||
ustring "SysAnimate32"
|
||||
align_2 edi
|
||||
add edi, 2
|
||||
ENDM
|
||||
|
||||
; ---------------
|
||||
; header control
|
||||
; ---------------
|
||||
DlgHeader MACRO dstyle,tx,ty,wd,ht,ctlID
|
||||
align_4 edi
|
||||
mov DWORD PTR [edi+0], WS_VISIBLE or WS_CHILD or dstyle
|
||||
mov WORD PTR [edi+8], tx
|
||||
mov WORD PTR [edi+10], ty
|
||||
mov WORD PTR [edi+12], wd
|
||||
mov WORD PTR [edi+14], ht
|
||||
mov WORD PTR [edi+16], ctlID
|
||||
add edi, 18
|
||||
ustring "SysHeader32"
|
||||
align_2 edi
|
||||
add edi, 2
|
||||
ENDM
|
||||
|
||||
; -----------------
|
||||
; richedit control
|
||||
; -----------------
|
||||
DlgRichEdit MACRO dstyle,tx,ty,wd,ht,ctlID
|
||||
align_4 edi
|
||||
mov DWORD PTR [edi+0], WS_VISIBLE or WS_CHILD or dstyle
|
||||
mov WORD PTR [edi+8], tx
|
||||
mov WORD PTR [edi+10], ty
|
||||
mov WORD PTR [edi+12], wd
|
||||
mov WORD PTR [edi+14], ht
|
||||
mov WORD PTR [edi+16], ctlID
|
||||
add edi, 18
|
||||
ustring "RICHEDIT"
|
||||
align_2 edi
|
||||
add edi, 2
|
||||
ENDM
|
||||
|
||||
; ------------------------------------
|
||||
; create a modal dialog from the data
|
||||
; written to the memory template.
|
||||
; ------------------------------------
|
||||
CallModalDialog MACRO Instance,Parent,DlgProc,lpExtra
|
||||
invoke DialogBoxIndirectParam,Instance,esi,Parent,
|
||||
ADDR DlgProc,lpExtra
|
||||
push eax ;; preserve return value
|
||||
invoke GlobalFree,esi ;; free memory
|
||||
pop eax ;; restore return value
|
||||
pop edi
|
||||
pop esi
|
||||
ENDM
|
||||
|
||||
; -------------------------------------
|
||||
; creat a modeless dialog from the data
|
||||
; written to the memory template.
|
||||
; -------------------------------------
|
||||
|
||||
CallModelessDialog MACRO Instance,Parent,DlgProc,lParamInit
|
||||
invoke CreateDialogIndirectParam,Instance,esi,Parent,
|
||||
ADDR DlgProc,lParamInit
|
||||
push eax ;; preserve return value
|
||||
invoke GlobalFree,esi ;; free memory
|
||||
pop eax ;; restore return value
|
||||
pop edi
|
||||
pop esi
|
||||
ENDM
|
||||
Reference in New Issue
Block a user