程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> 關於VC++ >> 在Dll中創建對話框並調用

在Dll中創建對話框並調用

編輯:關於VC++

1、第一步創建一“MFC AppWizard (dll)”工程,接下來選擇“Regular Dll using shared MFC DLL”,點擊“Finish”。

2、添加一對話框資源到工程中,從菜單中選擇Insert->Resource,添加一“Dialog”

選擇“New”,至此對話框已添加到DLL工程中。

3、為對話框添加一新類,如:CTest,基類為CDialog。

4、在MFCDLL.cpp中(因創建的工程為MFCDLL)添加接口函數:

extern "C" __declspec(dllexport) void Show()
{
  AFX_MANAGE_STATE(AfxGetStaticModuleState());
  CTest test;
  test.DoModal ();
}

別忘了在文件中添加: #include "Test.h":),大功告成,編譯吧! 

5、用VC新建一對話框工程,在一按鈕點擊事件中添加如下代碼:

typedef void (WINAPI * TESTDLL)();
HINSTANCE hmod;
hmod = ::LoadLibrary ("mfcdll.dll");
if(hmod==NULL)
{
  AfxMessageBox("Fail");
}
TESTDLL lpproc;
lpproc = (TESTDLL)GetProcAddress (hmod,"Show");
if(lpproc!=(TESTDLL)NULL)
  (*lpproc)();
FreeLibrary(hmod);

6、試試看,是不是DLL中對話框顯示出來了:)

測試環境:VC6.0+Win2000

本文配套源碼

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved