C++ Windows Programming

    C++除了纯面向对象的特征例如类、继成和虚函数外,在严格函数模型、内联函数、重载、操作符和模

板方面比C都有所改进。

    编写面向对象的Windows程序并不是一件容易的事,因为Windows API设计时没有考虑对面向对象语言

的支持。例如,像Windows消息处理和对话框消息处理这样的回调函数必须是全局函数。C++编译器不

会允许你传递一个普通的类成员函数最为回调函数。MFC设计用来封装Windows API到一个类族体系,

它现在几近成为事实当中的编写面向对象Windows应用程序的标准。MFC在桥接面向对象C++和面向C的

Win32 API之间做了很多工作。MFC通过将仅有的一个全局函数作为通用窗口消息处理过程,该函数映射

一个HWND句柄到CWnd对象的指针,从而转化一个Win32的窗体句柄到一个C++窗体对象。当OLE、COM和

ActiveX逐渐盛行后,甚至微软都开始担心MFC的庞大和复杂性,所以,受推荐的编写轻量级COM服务和

ActiveX控件的类库是微软的另一个类库——活动模板库(Active Template Library)。

    STRICT宏告诉Windows包含文件区别对待不同的对象类型,这样可以使得如果弄混了HANDLE和

HINSTANCE,或者HPEN和HBRUSH时,编译器更容易给程序员提供报警信息。

原文地址:https://www.cnblogs.com/faceang/p/1683875.html