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

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

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


0a2653c851af460fa595bd959398a8f1.png


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

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

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


0eacb84100b54626af849e6b562bf92a.png


五、代码编写信息框函数


1、第一个参数写NULL


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


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


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

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

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


2d65d23f6d4748949b924e4057485923.png


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


2e9b90b2ca334476abebe75bafe6eeaa.png


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


0a2653c851af460fa595bd959398a8f1.png


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

默认选择的是,后面数字比较小的


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


0eacb84100b54626af849e6b562bf92a.png


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


2d65d23f6d4748949b924e4057485923.png 2e9b90b2ca334476abebe75bafe6eeaa.png


十二、回到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);
       }
}

十五、运行效果

4cebaac233b3433da32a72337a77fc60.png

目录
相关文章
|
8月前
|
C++
MFC编程 -- 记事本项目(大体框架)
MFC编程 -- 记事本项目(大体框架)
64 0
|
Java
Java实现计算器demo
Java实现计算器demo
78 1
|
5月前
|
Python
小型项目1:命令行计算器实现。
小型项目1:命令行计算器实现。
56 1
|
8月前
MFC编程 -- 添加菜单
MFC编程 -- 添加菜单
39 0
|
API 区块链 C++
MFC编程 -- 从空项目开始到实现计算器功能
MFC编程 -- 从空项目开始到实现计算器功能
137 0
MFC编程 -- 从空项目开始到实现计算器功能
|
异构计算
xilinx小实验——vivado纯逻辑编程第一个demo
xilinx小实验——vivado纯逻辑编程第一个demo
380 0
xilinx小实验——vivado纯逻辑编程第一个demo
Verilog语法入门(十三)测试文件
Verilog HDL是一种硬件描述语言(HDL:Hardware Description Language),以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。 Verilog HDL和VHDL是世界上最流行的两种硬件描述语言,都是在20世纪80年代中期开发出来的。前者由Gateway Design Automation公司(该公司于1989年被Cadence公司收购)开发。两种HDL均为IEEE标准。
290 0
|
C语言 C++
【c++/c】C语言“小小计算器”扩展功能,文件的读取和写入【期末大作业】
学生成绩排序” 定义学生结构体数组,长度为10,依次输入这十个学生的学号、姓名、成绩,利用冒泡排序,对这10个学生排序,从小到大输出这10个学生的信息,然后输出10个学生的总成绩和平时成绩
222 1
【c++/c】C语言“小小计算器”扩展功能,文件的读取和写入【期末大作业】
|
JavaScript 前端开发 .NET

热门文章

最新文章