📄 var.asm
字号:
.const
;一些控件,菜单的ID值,部分是没有用的
IDD_GOTO equ 101
IDD_UBB equ 102
IDD_CONV equ 103
IDD_NEW equ 104
IDD_FIND equ 105
IDD_LOGO equ 106
IDC_SRC equ 1000
IDI_MAIN equ 1000
IDM_MAIN equ 1000
IDB_BOLD equ 1001
IDC_CLEAR equ 1001
IDC_DEST equ 1001
IDC_EDIT_REPLACE equ 1001
IDC_LINENO equ 1001
IDM_FILE_OPEN equ 1001
IDC_FINDNEXT equ 1002
IDM_FILE_NEW equ 1002
IDC_DEL equ 1003
IDC_FINDPRE equ 1003
IDM_FILE_SAVE equ 1003
IDC_FINDALL equ 1004
IDM_FILE_SAVEAS equ 1004
IDC_FILEDIR equ 1005
IDM_FILE_EXIT equ 1005
IDM_FILE_CLOSE equ 1006
IDC_EDIT_LEN equ 1007
IDC_EDIT_INIT equ 1008
IDC_INFO equ 1008
IDB_GO equ 1010
IDC_LIST_FINDALLRESULT equ 1010
IDC_CLEARALL equ 1011
IDM_EDIT_UNDO equ 1021
IDM_EDIT_COPY equ 1023
IDM_FIND_GOLINE equ 1028
IDM_EDIT_SELALL equ 1033
IDM_VIEW_ONTOP equ 1055
IDM_VIEW_LINENUMBER equ 1056
IDM_FIND_FIRST equ 1061
IDM_FIND_NEXT equ 1062
IDM_FIND_REPLACE equ 1063
IDM_FIND_FINDWORD equ 1064
IDM_FIND_FINDINGOOGLE equ 1065
IDM_EDIT_INSERTSPECHAR equ 1123
IDM_EDIT_COPY_C equ 3000
IDM_EDIT_COPY_PAS equ 3001
IDM_EDIT_COPY_VB equ 3002
IDM_EDIT_COPY_STR equ 3003
;------------------------------------------------------
STATUSBAR_HEIGHT =22
HEX_LEFT = 100;HEX内容左边距
HEX_TOP = 30;HEX内容正文与窗体上的距离
TOP_CELL = 5;00 01 02..0F窗体顶上的距离
X_CELL_SPACE = 23;每个Hex值的X距离
Y_CELL_SPACE = 18;每个Hex值的Y距离
ASC_LEFT = X_CELL_SPACE*(16+1)+HEX_LEFT
FLAG_DRAGING =1
FLAG_INPUTLOWBYTE =2
FLAG_INPUTCHAR =4
FLAG_BLOCKSEL =8
FLAG_FILECHANGE =10000h
FLAG_ONTOP =20000h
HUGE_FILE = 1024*1024*10;大于此大小的文件用内存映射的方法打开
EXTRASIZE=1024*10;插入的缓冲区的大小
;文件类型
FILE_NORMAL=0;普通文件
FILE_MAP=1;内存映射
FILE_RAM=2;内存编辑
;-------------------------------------------------
.data
;------------------------------------------------
szWindowName db "xHex ",0
szAppName equ <szWindowName>
szNewFile db "新文件",0
szClassName db "xNotePad_ASMClass",0
szModified db "文件已被修改,要保存吗?",0
szFmDecU db "%u",0
szFmDecS db "%d",0
szFmHexB db "%02X",0
szFmHexW db "%04X",0
szFmHexD db "%08Xh",0
szAboutStr db "xHex v0.28 "
db "鬼龙之舞 "
db "QQ:178527496 "
db "www.aogosoft.com"
db "1234567890ABCDEF"
db 0
sizeofabout =$-szAboutStr-1
szHugeFile db '由于要打开的文件比较大( >10M),将采用直接写的方式打开',13,13
db '在这种方式下,所有的操作都将立即作用到文件,要继续吗?',0
.data?
isRam equ <dwFileType==FILE_RAM>
dwFileType dd ?;FILE_NORMAL,FILE_MAP,FILE_RAM三种
dwRamProcessID dd ?
dwRamAddress dd ?
dwRamSize dd ?
szFileName db MAX_PATH dup(?)
hInstance dd ?
hWnd dd ?;主窗口句柄
hMenu dd ?;主窗口菜单
hFont dd ?
hInstDll dd ?
lpMemFile dd ?;指向文件的开头
lpMemFileEnd dd ?;指向文件的结尾
g_TopLine dd ?
g_TotalLine dd ?
dwFileSize dd ?
dwCurPos dd ?
dwPrePos dd ?
dwBlockStart dd ?
dwBlockEnd dd ?
dwBlockWidth dd ? ;列选择时的宽度
dwBlockHeight dd ?;列选择时的高度
dwVisibleLines dd ?;可见行的数量
g_FirstVisible dd ?
g_LastVisible dd ?
g_asc_width dd ?
FLAG_ALL dd ?
g_hDlg_GoTo dd ?
g_hDlg_Conv dd ?
g_hDlg_Find dd ?
g_hDlg_Data dd ?
g_hDlg_Calc dd ?
g_hDlg_Struct dd ?
g_hDlg_Hash dd ?
g_hDlg_Fill dd ?
g_hDlg_FindFile dd ?
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -