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,