📄 include.inc
字号:
;-----------------------------------------------------------------------------------------
; The needed include files.
;-----------------------------------------------------------------------------------------
include windows.inc
include user32.inc
include kernel32.inc
include gdi32.inc
include comctl32.inc
include comdlg32.inc
include oleaut32.inc
include shell32.inc
include masm32.inc
include debug.inc
DBGWIN_EXT_INFO = 0
DBGWIN_DEBUG_ON = 1
;-----------------------------------------------------------------------------------------
; The needed libraries.
;-----------------------------------------------------------------------------------------
includelib user32.lib
includelib kernel32.lib
includelib gdi32.lib
includelib comctl32.lib
includelib comdlg32.lib
includelib oleaut32.lib
includelib shell32.lib
includelib masm32.lib
includelib debug.lib
;-----------------------------------------------------------------------------------------
; Prototypes.
;-----------------------------------------------------------------------------------------
FrameDialogProc PROTO :HWND, :UINT, :WPARAM, :LPARAM
GraphicDialogProc PROTO :HWND, :UINT, :WPARAM, :LPARAM
InfoDialogProc PROTO :HWND, :UINT, :WPARAM, :LPARAM
TableDialogProc PROTO :HWND, :UINT, :WPARAM, :LPARAM
QW2ASCII PROTO :DWORD, :DWORD
GetInitializationValue PROTO :HWND, :HWND, :DWORD
GetIntegerFromWindowText PROTO :HWND, :HWND, :DWORD, :DWORD
ustr2dw PROTO :DWORD
;-----------------------------------------------------------------------------------------
; Include the resource-ID constants.
;-----------------------------------------------------------------------------------------
include resources.inc
;-----------------------------------------------------------------------------------------
; The SortInfo-structure.
;-----------------------------------------------------------------------------------------
SORT_INFO STRUCT
fGraphic BYTE ?
fSorting BYTE ?
direction BYTE ?
fDelayPosition BYTE ?
delay DWORD ?
numElements DWORD ?
lpElements DWORD ?
minValue DWORD ?
maxValue DWORD ?
randInitValue DWORD ?
hThread DWORD ?
lastTickCount DWORD ?
elapsedTime DWORD ?
cmpCounter QWORD ?
movCounter QWORD ?
usedMemory DWORD ?
hMemory DWORD ?
errorId DWORD ?
SORT_INFO ENDS
STRUCURED_EXCEPTION_HANDLING STRUCT
OrgEsp DWORD ?
OrgEbp DWORD ?
SaveEip DWORD ?
STRUCURED_EXCEPTION_HANDLING ENDS
;-----------------------------------------------------------------------------------------
; The uninitialized data segment.
;-----------------------------------------------------------------------------------------
.data?
;---------------------------------------------------------------------------------------
;-- Dialog: Frame
hDialogFrame DWORD ?
hTabControl DWORD ?
hMENU_Program DWORD ?
TCI TCITEM <>
;---------------------------------------------------------------------------------------
;-- Dialog: Table
;-------------------------------------------------------------------------------------
;-- Structures for working with list views.
LVcol LVCOLUMN <>
LVitem LVITEM <>
LVHTI LVHITTESTINFO <>
;-------------------------------------------------------------------------------------
;-- Other structures.
PT POINT <>
;-------------------------------------------------------------------------------------
;-- Handles of the dialog items.
hDialogTable DWORD ?
hTableDialog_LV_Algorithms DWORD ?
hTableDialog_SB DWORD ?
hTableDialog_B_SelectAll DWORD ?
hTableDialog_B_SelectNone DWORD ?
hTableDialog_B_Start DWORD ?
hTableDialog_CB_Data DWORD ?
hTableDialog_CB_Elements DWORD ?
hTableDialog_LV_Result DWORD ?
hTableDialog_B_Options DWORD ?
hTableDialog_CB_InitValue DWORD ?
;-------------------------------------------------------------------------------------
;-- Handles of the menues.
hMENU_Options DWORD ?
hMENU_ItemOptions DWORD ?
;-------------------------------------------------------------------------------------
;-- Addres of the old window procedure of the algorithm list view.
lpWndProc_ListviewOld DWORD ?
;---------------------------------------------------------------------------------------
;-- Dialog: Graphic
;-------------------------------------------------------------------------------------
;-- Handles of the dialog items.
hDialogGraphic DWORD ?
hGraphicDialog_CB_Algorithm DWORD ?
hGraphicDialog_CB_Data DWORD ?
hGraphicDialog_CB_Elements DWORD ?
hGraphicDialog_CB_Delay DWORD ?
hGraphicDialog_S_Display DWORD ?
hGraphicDialog_B_Start DWORD ?
hGraphicDialog_B_Generate DWORD ?
hGraphicDialog_CB_DelayPos DWORD ?
hGraphicDialog_B_Options2 DWORD ?
hGraphicDialog_CB_InitValue2 DWORD ?
hGraphicDialog_SB DWORD ?
;-------------------------------------------------------------------------------------
;-- Handles of the menue.
hMENU_Options2 DWORD ?
;-------------------------------------------------------------------------------------
;-- Handles of brushes and pens for painting the elements.
hBrush_Background DWORD ?
hPen_BackgroundFrame DWORD ?
hPen_Background DWORD ?
hPen_ComparedElement DWORD ?
hPens_Array DWORD 128 DUP (?)
;-------------------------------------------------------------------------------------
;-- These variables contains the dimensions of the display window.
Display_Right DWORD ?
Display_Bottom DWORD ?
;-------------------------------------------------------------------------------------
;-- Address of the old window procedure of the display window.
lpDisplayProcOld DWORD ?
;-------------------------------------------------------------------------------------
;-- An array that contains the elements.
ElementsArr DWORD 128 DUP (?)
;---------------------------------------------------------------------------------------
;-- Dialog: Info
;-------------------------------------------------------------------------------------
;-- Handles of the dialog items.
hDialogInfo DWORD ?
hInfoDialog_S_Email DWORD ?
hInfoDialog_S_CodingCrew_de DWORD ?
hInfoDialog_S_MASM32_com DWORD ?
;-------------------------------------------------------------------------------------
;-- Address of the old window procedure of the 'links' (static controls).
lpWndProcOld DWORD ?
;-------------------------------------------------------------------------------------
;-- The handle of the cursor.
hCursor DWORD ?
;-------------------------------------------------------------------------------------
;-- Hover flag, signs whether the mouse is on a link or not.
fHover BYTE ?
;-------------------------------------------------------------------------------------
;-- The LOGFONT-structure.
LF LOGFONT <>
;---------------------------------------------------------------------------------------
;-- General:
;-------------------------------------------------------------------------------------
;-- Structure for working with the menues.
MII MENUITEMINFO <>
;-------------------------------------------------------------------------------------
;-- The module handle of this program.
hInstance DWORD ?
;-------------------------------------------------------------------------------------
;-- The handle of the active dialog.
hCurrentDialog DWORD ?
;-------------------------------------------------------------------------------------
;-- The RECT-structure.
Rect RECT <>
;-------------------------------------------------------------------------------------
;-- Structure that contains informations about the current sorting settings.
SortInfo SORT_INFO <>
;-------------------------------------------------------------------------------------
;-- Structured exception handling structure.
SEH STRUCURED_EXCEPTION_HANDLING <>
;-------------------------------------------------------------------------------------
;-- Other structures.
OFN OPENFILENAME <>
;-------------------------------------------------------------------------------------
;-- The timer interval and the timer ID.
TimerInterval EQU 100
IDEvent_TIMER EQU 1000
;-------------------------------------------------------------------------------------
;-- A small buffer for working with strings.
Buffer BYTE 256 DUP (?)
;-------------------------------------------------------------------------------------
;-- The buffers for filenames. The first one is used when entries shall be saved to
;-- file. The second one is used to save bitmaps. Four bytes are added to prevent a
;-- buffer overflow when appending the file extension to a string that is already
;-- MAX_PATH chars long.
filename BYTE (MAX_PATH + 4) DUP (?)
filenameBMP BYTE (MAX_PATH + 4) DUP (?)
;-----------------------------------------------------------------------------------------
; The initialized data segment.
;-----------------------------------------------------------------------------------------
.data
;---------------------------------------------------------------------------------------
;-- Dialog: Frame
;---------------------------------------------------------------------------------------
;-- Dialog: Table
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -