教你如何用MFC编写计算器(WIN32版本)

本文将展示如何使用MFC在WIN32环境下编写一个计算器应用。通过介绍主要代码和提供完整代码链接,帮助C/C++初学者理解MFC编程。
摘要由CSDN通过智能技术生成

1.效果图

2.主要代码

#include "Calc.h"

int WINAPI  WinMain(HINSTANCE hInstance, HINSTANCE hPreInstance, LPSTR lpCmdLine, int nCmdShow)
{
	g_hInstance = hInstance;

	//弹出一个对话框
	DialogBox(hInstance, MAKEINTRESOURCE(IDD_MAIN_DLG), NULL, MainProc);


	return 0;
}

//对话框处理函数
BOOL CALLBACK MainProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
	switch (uMsg)
	{
	case WM_INITDIALOG://对话框初始化消息
		OnInitDialog(hWnd);
		break;
	case WM_COMMAND://命令消息
	{
		switch (LOWORD(wParam))
		{
		case IDC_BTN_CLEAR://清零
			OnBtnClear(hWnd);
			break;
		case IDC_BTN_BACK://退格
			OnBack(hWnd);
			break;
		case IDC_BTN_0://0
			OnBtn0(hWnd);
			break;
		case IDC_BTN_1://1
			OnBtn1(hWnd);
			break;
		case IDC_BTN_2://2
			OnBtn2(hWnd);
			break;
		case IDC_BTN_3://3
			OnBtn3(hWnd);
			break;
		case IDC_BTN_4://4
			OnBtn4(hWnd);
			break;
		case IDC_BTN_5://5
			OnBtn5(hWnd);
			break;
		case IDC_BTN_6://6
			OnBtn6(hWnd);
			break;
		case IDC_BTN_7://7
			OnBtn7(hWnd);
			break;
		case IDC_BTN_8://8
			OnBtn8(hWnd);
			break;
		case IDC_BTN_9://9
			OnBtn9(hWnd);
			break;
		case IDC_BTN_DOT://9
			OnBtnDot(hWnd);
			break;
		case IDC_BTN_ADD://加
			OnBtnAdd(hWnd);
			break;
		case IDC_BTN_SUB://减去
			OnBtnSub(hWnd);
			break;
		case IDC_BTN_MUL://乘法
			OnBtnMul(hWnd);
			break;
		case IDC_BTN_CHU://除法
			OnBtnChu(hWnd);
			break;
		case IDC_BTN_EQUAL://等于
			OnBtnEqual(hWnd);
			break;
		}
		break;
	}
	case WM_CLOSE:
		EndDialog(hWnd,IDCANCEL);
		return TRUE;
	}

	return FALSE;
}
//对话框初始化处理函数
void OnInitDialog(HWND hWnd)
{
	//加载一下图标
	HICON hIcon = LoadIcon(g_hInstance, MAKEINTRESOURCE(IDI_ICON1));
	SendMessage(hWnd, WM_SETICON, ICON_BIG, (LPARAM)hIcon);
	SendMessage(hWnd, WM_SETICON, ICON_SMALL, (LPARAM)hIcon);

	//设置初始化显示文本
	SetDlgItemText(hWnd,IDC_STATIC_RESULT, L"0");
	//字体修改一下
	HFONT hFont = CreateFont(
		40,                        // nHeight
		0,                         // nWidth
		0,                         // nEscapement
		0,              
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值