前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >汇编语言学习笔记-使用对话框

汇编语言学习笔记-使用对话框

作者头像
liulun
发布2022-05-09 11:28:59
3020
发布2022-05-09 11:28:59
举报
文章被收录于专栏:liulun

rsrc.rc文件

代码语言:javascript
复制
#include <resource.h>
#define IDC_EDIT 3000 
#define IDC_BUTTON 3001 
#define IDC_EXIT 3002 

MyDialog DIALOG 10, 10, 205, 60 
STYLE 0x0004 | DS_CENTER | WS_CAPTION | WS_MINIMIZEBOX | 
WS_SYSMENU | WS_VISIBLE | WS_OVERLAPPED | DS_MODALFRAME | DS_3DLOOK 
CAPTION "我的对话框" 
{ 
EDITTEXT IDC_EDIT, 15,17,111,13, ES_AUTOHSCROLL | ES_LEFT 
DEFPUSHBUTTON "显示编辑框中的内容", IDC_BUTTON, 141,10,52,13 
PUSHBUTTON "退出程序", IDC_EXIT, 141,26,52,13 
}

asm文件

代码语言:javascript
复制
.386 
.model flat,stdcall 
option casemap:none 

DlgProc proto :DWORD,:DWORD,:DWORD,:DWORD 

include D:\masm32\include\windows.inc 
include D:\masm32\include\user32.inc 
include D:\masm32\include\kernel32.inc 
includelib D:\masm32\lib\user32.lib 
includelib D:\masm32\lib\kernel32.lib 

.data 
DlgName db 'MyDialog',0 
AppName db 'My own dialog',0 


.data? 
hInstance HINSTANCE ? 
buffer db 512 dup(?) 

.const 
IDC_EDIT            equ 3000 
IDC_BUTTON     equ 3001 
IDC_EXIT            equ 3002 


.code 
start: 
    invoke GetModuleHandle, NULL 
    mov    hInstance,eax 
    invoke DialogBoxParam, hInstance, ADDR DlgName,NULL, addr DlgProc, NULL 
    invoke ExitProcess,eax 

DlgProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM 
    .IF uMsg==WM_INITDIALOG 
        invoke GetDlgItem, hWnd,IDC_EDIT 
        invoke SetFocus,eax 
    .ELSEIF uMsg==WM_CLOSE 
        invoke EndDialog, hWnd,NULL 
    .ELSEIF uMsg==WM_COMMAND 
        mov eax,wParam 
            .IF eax==IDC_BUTTON 
                invoke GetDlgItemText,hWnd,IDC_EDIT,ADDR buffer,512 
                invoke MessageBox,NULL,ADDR buffer,ADDR AppName,MB_OK 
           .ELSEIF ax==IDC_EXIT 
                    invoke EndDialog, hWnd,NULL 
            .ENDIF 
    .ELSE 
        mov eax,FALSE 
        ret 
    .ENDIF 
    mov eax,TRUE 
    ret 
DlgProc endp 
end start
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2010-01-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档