MFC计算器按钮代码怎么写,比如我按了按钮数字键1,那怎么把它显示在编辑框你输入的是1,还有加减乘除

MFC计算器按钮代码怎么写,比如我按了按钮数字键1,那怎么把它显示在编辑框你输入的是1,还有加减乘除,第1张

1、新建项目:打开VS2010-文件-新建-项目-MFC应用程序-名称(计算器)。

2、设置应用程序类型:点选为基于对话框,新建一个基于念渗对话框的程序。如下图所示。

3、调整对话框:删除对话框内所有控件,并将对话框调整至合适大小,如下图所示。

4、添加编辑框:添加三友灶个编辑框加数1、加数2、和。ID分别设置IDC_ADD1、IDC_ADD2、IDC_SUM。和的属性Read Only设置为true,其余的默认。如下图所示。

5、添加静态文本:添加五个静态文本控件分别修改Caption为加数1,加数2,加运算符,和、+,=。如下图所示。

6、添加计算按钮:添加一个计算按钮,设置Caption为计算,ID为ID_ADD。如下图所示。

7、编辑好高扮代码:添加如下代码计算结果UpdateData(true)//读取编辑框的值到关联的值变量中m_sum=m_add1+m_add2//计算结果存到编辑框的关联变量中UpdateData(false)//将计算的结果显示到编辑框中。

8、运行测试:编译运行,输入数值分别输入两个加数然后点击计算按钮,效果如下图所示。

1、首先打开VS2013,新建一个VC++ MFC项目,命名为 gongzi。

2、然后在程序类型中,选择“基于对话框”,点击“完成”按钮。

3、然后在d出的对话框中,删除原先的Static Text,添加相应的控件到窗体上。

4、接着在应发工资模搏编辑框右击添加变量。 变量名称是 m_editTotal, 变量类型是 double, 类别为 value,点击“完成”。同样唯码则扣税费用编辑框右击添加变量。 变量名称是 m_editTax, 变量类型是 double, 类别为 value,应扣税款标签右击添加变量。

5、然后双击“计算应扣税款”进入代码,添加代码。

6、最后点击运行,输入对应的数目,按下指棚按钮,查看执行效果。

主代码如下。。这个是我自己做的。就怕你看不懂了。。。

不过敢上来问,应该是比较精通的了。。

#include

"stdafx.h"

#include

<stdio.h>

#include

<stdlib.h>

#include

<windows.h>

#include

<windowsx.h>

#include

"拿羡resource.h"

#include

"MainDlg.h"

#define

TURE

1

#define

FALSE

0

BOOL

WINAPI

Main_Proc(HWND

hWnd,

UINT

uMsg,

WPARAM

wParam,

LPARAM

lParam)

{

switch(uMsg)

{

HANDLE_MSG(hWnd,

WM_INITDIALOG,

Main_OnInitDialog)

HANDLE_MSG(hWnd,

WM_COMMAND,

Main_OnCommand)

HANDLE_MSG(hWnd,WM_CLOSE,

Main_OnClose)

}

return

FALSE

}

BOOL

Main_OnInitDialog(HWND

hwnd,

HWND

hwndFocus,

LPARAM

lParam)

{

return

TRUE

}

BOOL

IsInt(TCHAR*

str)

{

int

i=atoi(str)

TCHAR

strtemp[256]

wsprintf(strtemp,"%i",i)

if(strcmp(str,strtemp)==0)

{

return

TURE

}

else

{

return

FALSE

}

}

TCHAR

str1[256],str2[256],str3[256]

int

i1,i2,i3

void

Main_OnCommand(HWND

hwnd,

int

id,

HWND

hwndCtl,

UINT

codeNotify)

{

switch(id)

{

case

IDC_OK:

{

GetDlgItemText(hwnd,IDC_EDIT1,str1,sizeof(str1))

GetDlgItemText(hwnd,IDC_EDIT2,str2,sizeof(str2))

int

i1,i2,i3

if(!IsInt(str1))

{

MessageBox(hwnd,TEXT("第嫌码一个数不是整数!"),TEXT("错误"),MB_OK|MB_ICONERROR)

return

}

if(!IsInt(str2))

{

MessageBox(hwnd,TEXT("第二个数不是整数!"),TEXT("错误"),MB_OK|MB_ICONERROR)

return

}

i1=atoi(str1)i2=atoi(str2)i3=i1+i2

wsprintf(str3,"%i",i3)

SetDlgItemText(hwnd,IDC_EDIT3,str3)

}

break

case

IDC_OK2:

{

GetDlgItemText(hwnd,IDC_EDIT4,str1,sizeof(str1))

GetDlgItemText(hwnd,IDC_EDIT5,str2,sizeof(str2))

if(!IsInt(str1))

{

MessageBox(hwnd,TEXT("第一个数不是整数!"),TEXT("错误"消者拍),MB_OK|MB_ICONERROR)

return

}

if(!IsInt(str2))

{

MessageBox(hwnd,TEXT("第二个数不是整数!"),TEXT("错误"),MB_OK|MB_ICONERROR)

return

}

i1=atoi(str1)

i2=atoi(str2)

i3=i1-i2

wsprintf(str3,"%i",i3)

SetDlgItemText(hwnd,IDC_EDIT6,str3)

}

break

case

IDC_OK3:

{

GetDlgItemText(hwnd,IDC_EDIT7,str1,sizeof(str1))

GetDlgItemText(hwnd,IDC_EDIT8,str2,sizeof(str2))

if(!IsInt(str1))

{

MessageBox(hwnd,TEXT("第一个数不是整数!"),TEXT("错误"),MB_OK|MB_ICONERROR)

return

}

if(!IsInt(str2))

{

MessageBox(hwnd,TEXT("第二个数不是整数!"),TEXT("错误"),MB_OK|MB_ICONERROR)

return

}

i1=atoi(str1)i2=atoi(str2)

i3=i1*i2

itoa(i3,str3,10)

SetDlgItemText(hwnd,IDC_EDIT9,str3)

}

break

case

IDC_OK4:

{

GetDlgItemText(hwnd,IDC_EDIT10,str1,sizeof(str1))

GetDlgItemText(hwnd,IDC_EDIT11,str2,sizeof(str2))

if(!IsInt(str1))

{

MessageBox(hwnd,TEXT("第一个数不是整数!"),TEXT("错误"),MB_OK|MB_ICONERROR)

return

}

if(!IsInt(str2))

{

MessageBox(hwnd,TEXT("第二个数不是整数!"),TEXT("错误"),MB_OK|MB_ICONERROR)

return

}

i1=atoi(str1)

i2=atoi(str2)

i3=i1/i2

itoa(i3,str3,10)

//else

str3="除不掉"这里仍然有个bug!

SetDlgItemText(hwnd,IDC_EDIT12,str3)

}

break

case

IDC_OK5:

{

GetDlgItemText(hwnd,IDC_EDIT13,str1,sizeof(str1))

i1=atoi(str1)

itoa(i1,str2,2)

SetDlgItemText(hwnd,IDC_EDIT14,str2)

}

break

case

IDC_OK6:

{

GetDlgItemText(hwnd,IDC_EDIT15,str1,sizeof(str1))

if(!IsInt(str1))

{

MessageBox(hwnd,TEXT("第一个数不是整数!"),TEXT("错误"),MB_OK|MB_ICONERROR)

return

}

if(!IsInt(str2))

{

MessageBox(hwnd,TEXT("第二个数不是整数!"),TEXT("错误"),MB_OK|MB_ICONERROR)

return

}

i1=atoi(str1)

itoa(i1,str2,16)

SetDlgItemText(hwnd,IDC_EDIT16,str2)

}

break

default:

break

}

}

void

Main_OnClose(HWND

hwnd)

{

EndDialog(hwnd,

0)

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/12507197.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存