📄 new.asm
字号:
_NewProc proto:DWORD ,:DWORD ,:DWORD ,:DWORD
_NewFile proto:DWORD ,:DWORD
.code
_NewProc proc @hDlg,uMsg,wParam,lParam
local @szBuf[255]:BYTE
mov eax,uMsg
.if eax==WM_INITDIALOG
;初始化对话框
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
push eax
invoke _GetInt ,@hDlg,IDC_EDIT_INIT;取得初始值
push eax
call _NewFile
invoke SendMessage,@hDlg,WM_CLOSE ,NULL ,NULL
.endif
.endif
.elseif eax==WM_CLOSE
invoke EndDialog,@hDlg,0
.else
xor eax,eax
ret
.endif
mov eax,TRUE
ret
_NewProc endp
;-------------------------------------
_NewFile proc uses edi ecx nValue,nSize
local wParam,@szBuf[255]:BYTE
mov eax,nSize
add eax,EXTRASIZE
__alloc eax
.if eax
push eax
mov edi,eax
mov ecx,nSize
mov eax,nValue
rep stosb
.else
call _ShowError
ret
.endif
call _Release
m2m dwFileSize,nSize
pop lpMemFile
mov dwFileType,FILE_NORMAL
invoke EnableMenuItem,hMenu,1003,MF_ENABLED
invoke EnableMenuItem,hMenu,1004,MF_ENABLED
invoke lstrcpy,addr szFileName,addr szNewFile
invoke _SetWindowTitle,0,eax
invoke _InitData ,dwFileSize
call _ReDraw
ret
_NewFile endp
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -