用win32汇编写计算器
学长让我用汇编写个win7系统自带的计算器,然后我是用非模态对话框建的,但是不知道为什么就是不能加载菜单栏,另外,如何在点按钮的同时,显示在EDITTEXTZHONG ,并且进行计算,将结果显示在EDITTEXT中,大家能给点思路吗,主要是输入问题,比如,点7,想缓冲区写入7,在点8,想缓冲区写8,但是在计算时,有如何化为10进制数呢,如何对运算福判断等,真心求助,求帮忙.386
.model flat,stdcall
option casemap:none
include windows.inc
include user32.inc
include kernel32.inc
includelib user32.lib
includelib kernel32.lib
ICO_MAIN equ 1000h
IDA_MAIN equ 2000h
IDM_MAIN equ 2000h
IDM_EDIT equ 2001h
IDM_LOOK equ 2003h
IDM_LOOKHELPequ 2004h
IDM_GUANYU equ 2005h
IDM_FUZHI equ 2006h
IDM_ZHANTIE equ 2007h
IDM_OLDRECORDequ 2008h
IDM_STD equ 2009h
IDM_SCI equ 2010h
IDM_PRO equ 2011h
IDM_LISHI equ 2012h
IDM_TOTAL equ 2013h
IDM_SHUZI equ 2014h
IDM_JIBEN equ 2015h
IDM_CHANGE equ 2016h
IDM_DATE equ 2017h
IDM_SHEET equ 2018h
DLG_MAIN equ 100
IDC_TEXT equ 101
IDC_MC equ 102
IDC_MR equ 103
IDC_MS equ 104
IDC_MH equ 105
IDC_MK equ 106
IDC_BACK equ 107
IDC equ 0
IDC1 equ 1
IDC2 equ 2
IDC3 equ 3
IDC4 equ 4
IDC5 equ 5
IDC6 equ 6
IDC7 equ 7
IDC8 equ 8
IDC9 equ 9
IDC_CE equ 10
IDC_C equ 11
IDC_ZHENFU equ 12
IDC_DOT equ 13
IDC_ADD equ 14
IDC_MUL equ 15
IDC_DIV equ 16
IDC_SUB equ 17
IDC_PERCENT equ 18
IDC_GENHAO equ 19
IDC_DENGHAO equ 20
IDC_BILIE equ 21
.data?
hInstance dd?
hMenu dd ?
hAccelerator dd ?
hDlg dd ?
.code
szInit db ' adsad' ,0
szend db '[%d]',0ah,0dh
_ADD proc
ret
_ADD endp
_SUB proc
_SUB endp
_DIV proc
_DIV endp
_MUL proc
_MUL endp
_ProcDlgMain procuses ebx esi edi hWnd,wMsg,wParam,lParam
local@szBuffer:byte
mov eax ,wMsg
.if eax ==WM_CLOSE
invoke EndDialog , hWnd,NULL
.elseifeax == WM_INITDIALOG
invoke LoadMenu ,hInstance,IDM_MAIN
mov hMenu , eax
invoke wsprintf , addr @szBuffer ,addrszInit
.elseifeax == WM_COMMAND
mov eax ,wParam
.if ax == IDC_ADD
call _ADD
.endif
.else
mov eax ,FALSE
ret
.endif
mov eax ,TRUE
ret
_ProcDlgMain endp
start:
invoke GetModuleHandle ,NULL
mov hInstance , eax
invoke DialogBoxParam,hInstance,DLG_MAIN ,NULL,offset _ProcDlgMain ,NULL
mov hDlg ,eax
invoke ExitProcess,NULL
end start
这是我的代码,但是不知道为什么显示不了菜单栏
是不是菜单没定义好,应该是可以显示的。
得到数字用GetDlgItemInt.
一个按钮对应一个运算符,你只要知道按下的是哪个按钮就知道是什么运算符了。 志华 发表于 2014-4-24 21:02 static/image/common/back.gif
是不是菜单没定义好,应该是可以显示的。
得到数字用GetDlgItemInt.
一个按钮对应一个运算符,你只要知道 ...
对于同一个文本编辑框,怎么样才能让里面的内容双行显示,还是说用静态的文本框 不太明白你的意思,要换行的话就在后面加0ah,0dh. 虽然看不懂,但是还是看了。
页:
[1]