⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainmodaldialog.asm

📁 windows汇编语言程序设计 吴中平著 一书所附所有源代码。 该书重点讲解了Windows环境下汇编语言程序设计的基本原理及其实现过程
💻 ASM
字号:
include .\head.inc
ModalDlgProc PROTO :DWORD,:DWORD,:DWORD,:DWORD
.const
IDR_MODALDIALOG              equ   101
IDR_MENUDIALOG                 equ   102
IDC_MODALBUTTON              equ   1000
IDC_MODALEDIT                    equ   1001
IDM_TEXT                              equ   40001
IDM_EXITDIALOG                  equ   40002
.data
Prompt           db "对话框主窗口",0
TitleName       db "Dialog Test",0
Text               db "模式对话框的消息测试!",0
.data?
hInstance	HINSTANCE ?
.code
start:
   invoke GetModuleHandle, NULL
   mov    hInstance,eax
   invoke DialogBoxParam,NULL,IDR_MODALDIALOG,NULL,addr ModalDlgProc,NULL
   invoke ExitProcess,eax
ModalDlgProc proc hWnd:dword,uMsg:dword,wParam:dword,lParam:dword
   .if uMsg==WM_INITDIALOG
      invoke GetDlgItem,hWnd,IDC_MODALEDIT
      invoke SetFocus,eax 
      mov eax,FALSE
      ret
   .elseif uMsg==WM_CLOSE
      invoke EndDialog,hWnd,NULL
   .elseif uMsg==WM_COMMAND     
      mov eax,wParam
      .if !lParam
         .if ax==IDM_TEXT
            invoke MessageBox,hWnd,addr Prompt,addr TitleName,MB_OK
         .elseif ax==IDM_EXITDIALOG
            invoke EndDialog,hWnd,NULL
         .endif
      .else
         mov edx,eax
         shr edx,16
         .if dx==BN_CLICKED
            .if ax==IDC_MODALBUTTON
               invoke SetDlgItemText,hWnd,IDC_MODALEDIT,addr Text
            .endif
         .endif
      .endif      
   .else
      mov eax,FALSE
      ret
   .endif
   mov eax,TRUE
   ret
ModalDlgProc endp
end start

⌨️ 快捷键说明

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