MFC扩展DLL
MFC扩展DLL的内涵为MFC的扩展,用户使用MFC扩展DLL就像使用MFC本身的DLL一样。除了可以在MFC扩展DLL的内部使用MFC以外,MFC扩展DLL与应用程序的接口部分也可以是MFC。我们一般使用MFC扩展DLL来包含一些MFC的增强功能,譬如扩展MFC的CBtatic,CButton等类使之具备更强大的能力。
MFC中包含一些宏,这些宏在DLL和调用DLL的应用程序中被以不同的方式展开,这使得在DLL和应用程序中,使用统一的一个宏就可以表示出输出和输入的不同意思。
宏的定义见 AFXV_DLL.H
AFXVER_.H
具体使用简单介绍如下:
(1)class AFX_EXT_CLASS CSXButton : public CButton //AFX_EXT_CLASS定义见上面两个头文件
{
//定义类成员变量,成员函数
}
(2)在对应.cpp文件中实现类
(3)在调用DLL的应用程序中包含头文件,导入对应的.lib文件。
即#include "SXButton.h"
#pragma comment(lib,"SXButton.lib")
接下来就可以使用在DLL中定义的CButton类的扩展类CSXButton类。
也就是说,MFC扩展DLL的本质就是扩展MFC的功能。如果DLL的目标不是扩展MFC,其与应用程序的接口也不是MFC,最好不要将DLL建立为MFC扩展DLL。