C++的图像界面学习(MFC) 简单入门

有个大佬,写了一个入门日志,其实挺好的,只是因为缺少图,所以读起来相对有点费力些,

(大佬日志,见:https://blog.csdn.net/Pepto_bismal/article/details/77725739

本文,把他的整理了一下,(即使没有任何VS基础也能入门)给大家一个基础的认知,其实基础认知就够了剩下的内容,需要的时候再去查就好了

详细给了一些图片和解释(就是学习日志时的踩坑)希望对大家有帮助,一起进步

 

MFC系列:

0.MFC简易入门基础

1.MFC实用功能技术——窗口跳转

2.MFC实用功能技术——下拉列表添加值

 

 

一、MFC的创建和打开

创建方式:打开Visual Studio2017 文件->新建->项目->>>MFC应用程序->输入名称如“MFC5”(解决方案自动与名称相同)->>>完成->>>下一步->>>将“多个文档”勾选掉,选择“基于对话框”->>>完成

这样我们就得到了一些基本的文件,介绍一下两个窗口

解决方案资源管理器

在“解决方案资源管理器”视图里可以看到如图所示的外部依赖项、头文件、源文件、资源文件。

解决方案资源管理器上文件介绍

stdafx:        是每个vs里都会生成的东西,作用是把C++工程中使用的MFC头文件预先编译,以后该工程编译时,直接使用预编译的结果,这样可以加快编译速度。

MFC5DIg:写的控件编程代码都会在这里

资源文件 :里面有资源视图的一些文件(资源视图见下)

 

资源视图

大部分的MFC会使用资源视图,资源视图打开方式为:视图——其他窗口——资源视图

资源视图介绍:

1.DIALOG

对话框资源,对于基于对话框的应用程序十分重要。里面有建立的各种对话框,点击打开后,就能看到上面的布局和控件。

2. ICON

图标资源,可以为你的应用程序exe添加美观的图标。

3. String Table

字串表,里面定义了当你把鼠标放在工具栏上显示的关于某个工具栏的信息。

4.version

版本信息,包括文件版本号,描述,版权,备注,产品名称,公司,源文件名等等。

 

 

 


二:控件的添加与认识

在“资源视图”中,IDD_MFC5_DIALOG是当前所示的界面,可以在上面添加一系列控件,

右侧有工具箱...选择所需要的拖动放进来就好.

修改内容

点击对应的控件就能直接改内容

修改ID

右击里面的属性就能改。

下图为一个控件的属性

每个属性都有不一样的内容,不需要一一详细去理解,只要知道有这个东西,想实现功能的时候去查别人攻略的时候,知道在哪改属性就好了

 


 

三:MFC入门需要掌握的代码块

 

1.消息处理函数

双击控件就能进入

代码展示

void MFC5Dlg::OnBnClickedButton1()
{
    // TODO: 在此添加控件通知处理程序代码
}

 这里的作用是能添加一系列动作之后的操作,比如这里就是单击按钮,你所需要执行的函数

 

2.初始化事件

在XXXDIG.cpp里有,就是相应事件的那个代码页里

BOOL CMFCApplication1Dlg::OnInitDialog()
{
	CDialogEx::OnInitDialog();

	// 将“关于...”菜单项添加到系统菜单中。

	// IDM_ABOUTBOX 必须在系统命令范围内。
	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);

	CMenu* pSysMenu = GetSystemMenu(FALSE);
	if (pSysMenu != nullptr)
	{
		BOOL bNameValid;
		CString strAboutMenu;
		bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX);
		ASSERT(bNameValid);
		if (!strAboutMenu.IsEmpty())
		{
			pSysMenu->AppendMenu(MF_SEPARATOR);
			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
		}
	}

	// 设置此对话框的图标。  当应用程序主窗口不是对话框时,框架将自动
	//  执行此操作
	SetIcon(m_hIcon, TRUE);			// 设置大图标
	SetIcon(m_hIcon, FALSE);		// 设置小图标

	// TODO: 在此添加额外的初始化代码

	return TRUE;  // 除非将焦点设置到控件,否则返回 TRUE
}

在初始化整个对话框的时候使用,一般处理一些需要在对话框里直接加载的东西

我这里直接给了一个程序里的代码,注意这个不是你写的,他本来就有,而且函数内容刚初学的人不需要知道,只要看最后一行,在此添加额外的初始化代码这里(这备注原来就有),添加你想要的初始化代码即可

 

3.类向导

右键即可打开类向导,右键能打开的还有

1.添加消息处理函数(与1.中的功能一样)

2.添加类

3.添加变量(2.与3.的功能和类向导里的添加功能一样)

4.属性(属性的作用:见2.控件)

下图为类向导的界面

类向导是一个集成的功能块,里面能查看自己添加的变量,函数,类等,直接在这里添加非常方便

每个控件(乃至新的对话框)都不能直接作为类,一定要自己添加类,这样才能在消息处理函数中使用

控件添加命名的变量,对话框添加类

  • 89
    点赞
  • 581
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值