MFC入门:控件、设置与关键知识点梳理

需积分: 3 1 下载量 97 浏览量 更新于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应用程序开发具有指导意义。