WEB开发网
开发学院软件开发VC VC++动态链接库(DLL)编程深入浅出(三) 阅读

VC++动态链接库(DLL)编程深入浅出(三)

 2007-03-15 21:47:45 来源:WEB开发网   
核心提示: 在这一组文件中定义了一个继承自CWinApp的类CRegularDllApp,并同时定义了其的一个实例theApp,VC++动态链接库(DLL)编程深入浅出(三)(4),乍一看,您会以为它是一个MFC应用程序,第二组文件 自定义对话框类声明及实现(点击查看附件)分析:这一部分的编程与一般的

在这一组文件中定义了一个继承自CWinApp的类CRegularDllApp,并同时定义了其的一个实例theApp。乍一看,您会以为它是一个MFC应用程序,因为MFC应用程序也包含这样的在工程名后添加“App”组成类名的类(并继承自CWinApp类),也定义了这个类的一个全局实例theApp。

我们知道,在MFC应用程序中CWinApp取代了SDK程序中WinMain的地位,SDK程序WinMain所完成的工作由CWinApp的三个函数完成:

virtual BOOL InitApplication( );
virtual BOOL InitInstance( );
virtual BOOL Run( ); //传说中MFC程序的“活水源头”

但是MFC规则DLL并不是MFC应用程序,它所继承自CWinApp的类不包含消息循环。这是因为,MFC规则DLL不包含CWinApp::Run机制,主消息泵仍然由应用程序拥有。如果DLL 生成无模式对话框或有自己的主框架窗口,则应用程序的主消息泵必须调用从DLL 导出的函数来调用PreTranslateMessage成员函数。

另外,MFC规则DLL与MFC 应用程序中一样,需要将所有 DLL中元素的初始化放到InitInstance 成员函数中。

第二组文件 自定义对话框类声明及实现(点击查看附件)

分析:

这一部分的编程与一般的应用程序根本没有什么不同,我们照样可以利用MFC类向导来自动为对话框上的控件添加事件。MFC类向导照样会生成类似ON_BN_CLICKED(IDC_HELLO_BUTTON, OnHelloButton)的消息映射宏。

第三组文件 DLL中的资源文件

//{{NO_DEPENDENCIES}}
// Microsoft Developer Studio generated include file.
// Used by RegularDll.rc
//
#define IDD_DLL_DIALOG 1000
#define IDC_HELLO_BUTTON 1000

分析:

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:VC 动态 链接

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接