關於如何創建mfc dll動態鏈接庫以及如何調用在我前面的一篇博客裏寫的很清楚了,不太清楚的可以去看看,博客地址:VS2015中用C++創建MFC DLL動態庫,因此這篇博客裏我只講重點內容。
有的時候我們需要在mfc dll中使用對話框,在對話框裏進行一些操作。首先我們在MFC dll的工程的資源視圖裏添加一個對話框:
然後爲這個對話框添加一個對話框類CDialog1,如下圖所示:
在MFC_dll.cpp中引入對話框的頭文件#include"Dialog1.h"
接下來我們在MFC_dll.cpp文件中創建一個打開模式對話框的函數,當然你也可以把打開模式對話框的實現過程放在mfc dll的初始化函數InitInstance()中。以下爲我的調用模式對話框的過程:
下面爲具體代碼:
//編寫mfc dll函數的實現
int _stdcall openDialog()
{
//AFX_MANAGE_STATE這句代碼是用於模塊切換時的狀態保護,最好加上這一句
AFX_MANAGE_STATE(AfxGetStaticModuleState());
//定義調取模式對話框
CDialog1 dlg;
dlg.DoModal();
return 0;
}
編譯成功了,就可以調用這個mfc dll動態庫的openDialog函數。
#include<iostream>
//引入mfc dll動態庫的頭文件
#include"mfcAPI.h"
using namespace std;
int main()
{
//調用mfc dll中自己編寫的openDialog()函數
openDialog();
system("pause");
return 0;
}
運行後會調用mfc dll動態庫裏openDialog(),然後這個函數會打開模式對話框。