卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

如何制作帶MFC界面的DLL

新建MFC DLL項(xiàng)目在進(jìn)行基于組件化MFC界面的開發(fā)時(shí),需要將界面封裝到動(dòng)態(tài)庫中。下面是實(shí)現(xiàn)這一過程的步驟:1. 新建MFC DLL項(xiàng)目,項(xiàng)目名稱為“MyDLL”,創(chuàng)建新解決方案,解決方案名稱為“M

新建MFC DLL項(xiàng)目

在進(jìn)行基于組件化MFC界面的開發(fā)時(shí),需要將界面封裝到動(dòng)態(tài)庫中。下面是實(shí)現(xiàn)這一過程的步驟:

1. 新建MFC DLL項(xiàng)目,項(xiàng)目名稱為“MyDLL”,創(chuàng)建新解決方案,解決方案名稱為“MFCDLL”。

2. 進(jìn)入MFC DLL向?qū)Вx擇下一步,然后選擇“使用共享MFC DLL的規(guī)則DLL”,最后點(diǎn)擊“完成”按鈕。

3. 創(chuàng)建MFC DLL項(xiàng)目成功后,需要選擇運(yùn)行時(shí)庫。打開屬性-->C/C -->代碼生成-->運(yùn)行庫,選擇“多線程調(diào)試 DLL (/MDd)”。

添加MFC類并寫導(dǎo)出接口

4. 點(diǎn)擊項(xiàng)目右鍵,選擇“添加”->“添加MFC類”。輸入類名:IHpDllWin,選擇基類:CDialog,點(diǎn)擊完成。

5. 動(dòng)態(tài)庫將定義一個(gè)導(dǎo)出函數(shù),該函數(shù)返回導(dǎo)出界面基類的指針。在IHpDllWin.cpp文件中編寫導(dǎo)出接口:

```cpp

// 定義導(dǎo)出接口

extern "C" __declspec(dllexport) IHpDllWin* ShowDialog(){

// 切記,此處需要加下面這行代碼,不然對話框顯示不出來。

AFX_MANAGE_STATE(AfxGetStaticModuleState());

IHpDllWin *ph new IHpDllWin;

ph->Create(IHpDllWin::IDD);

ph->ShowWindow(SW_SHOW);

return ph;

}

```

生成MFC DLL

6. 生成MyDLL.dll。至此,MFC DLL程序創(chuàng)建完成。

新建MFC應(yīng)用程序

7. 新建MFC應(yīng)用程序,名稱為MyMFC,解決方案名稱為MFCEXE。

8. 進(jìn)入MFC應(yīng)用程序向?qū)?,點(diǎn)擊下一步,應(yīng)用程序類型選擇“基于對話框”,然后一直點(diǎn)擊下一步,最后點(diǎn)擊完成。

調(diào)用動(dòng)態(tài)庫

9. 在對話框中拖入按鈕,并雙擊該按鈕進(jìn)入代碼編輯。

10. 采用動(dòng)態(tài)方式調(diào)用該動(dòng)態(tài)庫,調(diào)用步驟如下:

- 加載動(dòng)態(tài)庫

```cpp

HINSTANCE m_hDll LoadLibrary("MyDLL.dll");

if (NULL m_hDll){

MessageBox("加載 MyDLL.dll 失敗");

}

```

- 獲取導(dǎo)出函數(shù)指針

```cpp

typedef IHpDllWin* (*hpDllFun)();

hpDllFun pShowDlg (hpDllFun)GetProcAddress(m_hDll,"ShowDialog");

if (NULL pShowDlg){

MessageBox("DLL中函數(shù)尋找失敗");

return;

}

```

- 獲取導(dǎo)出類對象指針

```cpp

IHpDllWin* m_hpwin pShowDlg();

```

通過以上步驟,可以獲取導(dǎo)出窗口類指針,從而對該導(dǎo)出窗口進(jìn)行控制。

完成設(shè)置并運(yùn)行

11. 將MyDLL.dll拷貝到目標(biāo)工程的Debug目錄下,并復(fù)制IHpDllWin.h到目標(biāo)工程的目錄下。

12. 添加IHpDllWin.h文件,右鍵點(diǎn)擊目標(biāo)工程,選擇“添加”->“現(xiàn)有項(xiàng)”,然后選擇IHpDllWin.h,點(diǎn)擊添加。

13. 在MyMFCDlg.cpp頭部添加include "IHpDllWin.h",然后編譯生成exe。至此,主界面設(shè)置完成。

14. 按“Ctrl F5”運(yùn)行程序,查看運(yùn)行結(jié)果。

以上就是制作帶MFC界面的DLL的步驟。通過將界面封裝到動(dòng)態(tài)庫中,可以實(shí)現(xiàn)更靈活的開發(fā)和重用界面模塊的功能。

標(biāo)簽: