MFC编程 -- 从空项目开始到实现计算器功能

二、右击源文件,添加一个cpp文件,名字随便取

三、编写代码,添加程序入口函数

#include <Windows.h>
INT WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR lpCmdLine,  INT nCmdShow) //相当于main函数
{


return 0;
}

四、右击项目,查看属性,修改链接器,因为我们编写的是窗口程序,所以将子系统修改为窗口

五、代码编写信息框函数

1、第一个参数写NULL

2、第二个参数是信息框内容

3、第三个参数是信息框标题

4、第四个参数是弹窗的类型

MessageBox(NULL, L"aiyou", L"bucuo", MB_OK);

六、运行该程序,成功弹出信息框

七、右击资源文件,添加资源,选择Icon,点击导入,选择设计好的ico文件

八、运行程序,自动生成图标

九、当我们导入多个图标资源的时候,打开resource.h文件

#define IDI_ICON1                       103
#define IDI_ICON2                       102
默认选择的是,后面数字比较小的


十、右击资源文件,添加资源,选择Dialog,点击新建

十一、设计界面,拖动要用的组件,修改相关属性值

十二、回到cpp文件编写关联代码

#include <Windows.h>
#include"resource.h"
INT WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR lpCmdLine,  INT nCmdShow) //相当于main函数
{
int n = DialogBox(hInstance, (LPCWCHAR)IDD_DIALOG1, NULL, NULL);


//1、指本对话框属于当前进程,HINSTANCE是窗口进程句柄
//2、本对话框使用哪个对话框资源,比如您定义了多个对话框资源,每个都有一个ID,本参数相当于传入一个ID
//3、本对话框的父窗口是哪个,NULL表示没有父窗口
//4、本对话框的消息处理函数,一个对话框相当于一个窗口,而窗口有对应的消息处理函数
return 0;
}

十三、编写一个回调函数,也就是我们自己设计一个功能,然后通过API实现

INT_PTR CALLBACK theProc(_In_  HWND hwndDlg, _In_  UINT uMsg, _In_  WPARAM wParam,  _In_  LPARAM lParam)
{
switch (uMsg)
       {
case WM_COMMAND://点击按钮
              OnCommand(hwndDlg, LOWORD(wParam));
break;
case WM_INITDIALOG://窗口启动时运行
break;
case WM_LBUTTONDOWN://左击
              MessageBox(NULL, _T("左击"), _T("左击"), MB_OK);
break;
case WM_RBUTTONDOWN://右击
              MessageBox(NULL, _T("右击"), _T("右击"), MB_OK);
break;
       }
return 0;
}

十四、编写按钮事件,不同的按钮实现不同的功能

void OnCommand(HWND hWnd, UINT nID)
{
if (nID == IDC_BUTTON2)
       {
              EndDialog(hWnd, 2);
       }
if (nID == IDC_BUTTON1)
       {
int nLeft = GetDlgItemInt(hWnd, IDC_EDIT1, NULL, TRUE);
int nRight = GetDlgItemInt(hWnd, IDC_EDIT2, NULL, TRUE);
              SetDlgItemInt(hWnd, IDC_EDIT3, nLeft + nRight, TRUE);
       }
}

十五、运行效果

十六、项目下载

关注编程有你公众号,后台回复:20220512

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

web安全工具库

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值