insert.asm

来自「一个十六进制编辑器源代码,cool!」· 汇编 代码 · 共 37 行

ASM
37
字号
_InsertProc	proto:DWORD ,:DWORD ,:DWORD ,:DWORD

.code
_InsertProc proc @hDlg,uMsg,wParam,lParam
local @szBuf[255]:BYTE 
	mov eax,uMsg
	.if eax==WM_INITDIALOG 
		;初始化对话框
		invoke SetWindowText,@hDlg,lParam
		invoke SetDlgItemInt,@hDlg,IDC_EDIT_LEN,100,FALSE ;长度
		invoke SetDlgItemInt,@hDlg,IDC_EDIT_INIT,0,FALSE ;初始值
	.elseif eax==WM_COMMAND
		mov eax,wParam
		.if ax==IDOK
			invoke _GetInt ,@hDlg,IDC_EDIT_LEN	;插入的长度
			.if eax
					mov wParam,eax
					invoke _GetInt ,@hDlg,IDC_EDIT_INIT;取得初始值
					mov lParam,eax
					mov eax,lpMemFile
					add eax,dwBlockStart
					invoke _PushUndo,eax,UNDO_INSERT,wParam,lParam
					invoke SendMessage,@hDlg,WM_CLOSE ,NULL ,NULL 
					and FLAG_ALL,not FLAG_BLOCKSEL
			.endif
		.endif
	.elseif eax==WM_CLOSE
		invoke EndDialog,@hDlg,0
	.else
		xor eax,eax
		ret
	.endif
	mov eax,TRUE 
	ret
_InsertProc endp

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?