MFC入门:控件、设置与关键知识点梳理
需积分: 3 138 浏览量
更新于2024-07-28
收藏 394KB DOC 举报
MFC笔记知识涵盖了Microsoft Foundation Classes (MFC)的基础概念和常用技巧。本文主要涉及以下几个关键知识点:
1. **StdAfx.h文件**:在MFC生成的C++源文件中,StdAfx.h是核心文件,其中包含了如afxwin.h这样的子文件,它声明了诸如CRECT、CPoint和CWnd等Windows编程中常见的类和方法。
2. **项目设置**:在Visual Studio的项目设置中,可以通过Debug选项添加命令行参数,这对于调试和控制程序行为很有帮助。
3. **Windows和stdio.h头文件**:为了使用像LoadCursor()和MessageBox()这样的函数,需要在项目中链接"windows.h"和"stdio.h"这两个标准库。
4. **创建窗口的步骤**:MFC中的窗口创建通常包括设计窗口类(定义窗口属性)、注册窗口类、创建窗口实例以及最后显示窗口。
5. **函数名与函数指针**:函数名实际上可以作为函数地址,用作函数指针,这在某些高级编程技术中很重要。
6. **数据类型查询**:在Microsoft Developer Network (MSDN)中,可以通过搜索数据类型如"BOOL"并选择"DATATYPE"来了解其在VC中的具体含义。
7. **字符串转换函数**:MFC提供了atof和atoi函数,分别用于将字符串转换为浮点数和整数。
8. **窗口句柄**:所有从CWnd派生的类都拥有m_hWnd成员,这是窗口系统的核心标识。
9. **变量生命周期**:全局变量和使用new或static声明的变量其生命周期超出其作用域,而普通局部变量则随函数结束而结束。
10. **格式化字符串**:在MFC中,使用CString类的Format方法进行字符串格式化,而在C++标准库中则使用sprintf和printf。
11. **内存管理**:GetDC()和ReleaseDC()函数应成对使用以避免内存泄漏,同样,BeginPaint()和EndPaint()也需配合使用。
12. **资源获取**:GetStockObject()用于获取预定义的系统资源,如画笔、画刷、字体和调色板,使用前需要将其转换为所需的类型。
13. **NULL与0的区别**:NULL通常用于指针赋值,表示空指针;而0用于数值赋值,比如初始化变量。
14. **野指针**:野指针是指已被释放内存空间的指针,使用时可能导致未定义的行为。通过将野指针设为NULL可以防止这种情况。
15. **SDK代码流程**:MFC程序通常包含"windows.h"和"stdio.h"头文件,定义回调函数MyProc(),并通过WinMain()函数启动应用程序,并执行窗口类设计、初始化、注册和显示等操作。
这些知识点覆盖了MFC开发的基本框架和核心概念,对于理解和使用MFC进行Windows应用程序开发具有指导意义。
点击了解资源详情
点击了解资源详情
点击了解资源详情
186 浏览量
109 浏览量
2009-06-14 上传
2015-07-15 上传
2016-09-01 上传
2017-10-02 上传
复兴之矢
- 粉丝: 70
- 资源: 6
最新资源
- androidcollectibleguide:Android收藏指南应用程序的源代码-Android application source code
- 2004年全国主要人口数据
- leetcode答案-leetcode-cs:leetcode刷题
- WHGradientHelper:iOS渐变,支持——线性渐变,径向渐变,渐变动画,lable字体渐变,lable字体渐变动画
- 基于STM32手写绘图板的设计.zip
- C-:siki教程
- FabriKGenerator:用Kotlin编写的Fabric mod的mod模板生成器
- leetcode答案-leetcode-machine-swift:Xcode中的leetcode解决方案验证
- YourToDo:使用Django制作的To Do应用程序,用户可以在其中添加,编辑和删除任务
- PHP实例开发源码—PHP版 Favicon在线生成工具.zip
- HttpServer.rar
- SmartCurrencyConverter:Android应用程序的源代码-SmartCurrencyConverter-Android application source code
- MDA车库
- GOTOTALPLAY
- leetcode答案-Study4Job:为了准备秋招而做的准备
- hkp_client:用Dart编写的非常基础的HKP密钥服务器客户端