对MFC源码Include文件夹的分析

本文详细分析了MFC的Include文件夹,包括AFXRICH.H、AFXWIN.H和AFX.H等核心头文件,探讨了类的结构、声明及在MFC中的位置。文章指出,理解这些文件的类结构和命名法则对于学习MFC至关重要,并提供了如何有效学习MFC的建议。同时,作者解答了初学者常见问题,强调学习VC++不能跳过C++基础,且需要大量实践编程。
摘要由CSDN通过智能技术生成

已分析的文件:
1. AFXWIN.H
2. AFX.H
3. AFXRICH.H
注:所有的源文件,均可在安装目录下的VC98/MFC/SRC/Include目录找到。(一定要找到这些文件,听我的,没错)
/************************************************************************************************
    AFXWIN.H && AFX.H  && AFXADV.H &&AFXRICH.H
*************************************************************************************************/
1.类的结构
 A。本文件中的类(不止一个)在MFC中的位置
 B。本文件夹(Include)构成MFC类的完整结构
例子:在AFXRICH.H中:
/
// AFXRICH - MFC RichEdit classes

// Classes declared in this file

//CObject
 //CCmdTarget;
  //CWnd
   //CView
    //CCtrlView
     class CListView;// list control view
     class CTreeView;// tree control view
注:上面的CListView,CTreeView即是本文件中涉及的类。而上面的注释语句则说明了本文件中的类在MFC中的位置。

2.类的声明
声明形式如下:
例子:在AFXWIN.H中:
class CBitmap : public CGdiObject
{
 DECLARE_DYNAMIC(CBitmap)

public:
 static CBitmap* PASCAL FromHandle(HBITMAP hBitmap);

// Constructors
 CBitmap();

 BOOL LoadBitmap(LPCTSTR lpszResourceName);
 BOOL LoadBitmap(UINT nIDResource);
 BOOL LoadOEMBitmap(UINT nIDBitmap); // for OBM_/OCR_/OIC_
 BOOL LoadMappedBitmap(UINT nIDBitmap, UINT nFlags = 0,
  LPCOLORMAP lpColorMap = NULL, int nMapSize = 0);
 BOOL CreateBitmap(int nWidth, int nHeight, UINT nPlanes, UINT nBitcount,
   const void* lpBits);
 BOOL CreateBitmapIndirect(LPBITMAP lpBitmap);
 BOOL CreateCompatibleBitmap(CDC* pDC, int nWidth, int nHeight);
 BO

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值