如何用mfc制作计算器

 我来答
huanglenzhi
2018-01-03 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
采纳数:117538 获赞数:517181
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。

向TA提问 私信TA
展开全部

1、建立工程:New -> Projects,选择Win32 MFC AppWizard(exe),并输入工程(counter)名字及设置好路径,点击OK,选择“Dialog based”,基于对话框,直接点finish。

2、将对话框进行简单的处理,把无关的按钮删掉,添加自己的按钮及Edit Box,如图2。

图2

3、对按钮及Edit Box进行属性设置,比如按钮1属性设置为“IDC_BUTTON_1”,2设置为IDC_BUTTON_2,一直类推。Edit Box不仅要设置ID(IDC_DISPLAY),还要设置相关连的成员变量,右键,选择ClasssWizard..,在点击Add Variable..,这里设置为double m_display。

4、对每个按钮添加消息处理函数,只需双击该按钮,按照提示点OK,就进入到了该函数入口处。

1设置void CCounterDlg::OnButton1();

2设置void CCounterDlg::OnButton2();

....

其他类推。

加 void CCounterDlg::OnButtonAdd();

减void CCounterDlg::OnButtonSub();

乘void CCounterDlg::OnButtonMult();

除void CCounterDlg::OnButtonDiv();

= void CCounterDlg::OnButtonEqual();

5、定义成员变量

int count;  //计数
BOOL dot_flg; //小数点标志
BOOL continue_flg;//没按运算符,是否一直连续按数字按钮标志
BOOL str_flag;//有没按运算符标志
CString str;//记录当前按的运算符
double result; //num1和num2运算的结果
double num1; //按运算符之前的第一个数

double num2; //按运算符之后的第二个数

6、定义成员函数,该函数主要是对按下的数字进行叠加,跟踪num1和num2:

double CCounterDlg::buttonDownNum(int numSize);

7、当按下之后数字要及时显示出来,需要用到:

UpdateData(FALSE);  //该函数是对Edit Box的内容进行更新,FALSE是有内部数成员的数据值更新到界面上,TRUE是从界面上更新到内部的数据成员上。

GetDlgItem(IDC_DISPLAY)->SetWindowText("小数点");//可以利用这个语句直接在Edit Box上显示内容“小数点”。只是提示自己也可以用这个来显示,程序中注释掉了。

AiPPT
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图... 点击进入详情页
本回答由AiPPT提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式