首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

请问mfc做窗口dll的方法

2012-01-29 
请教mfc做窗口dll的方法用mfc ActiveX做了,领导不同意,要做成dll,我实在不知道本来一个窗口显示的程序(还

请教mfc做窗口dll的方法
用mfc ActiveX做了,领导不同意,要做成dll,我实在不知道本来一个窗口显示的程序(还带工具栏按钮)怎么做成dll,请路过的帮帮我,
我先谢谢!
最好有比较详细一点的步骤说明。

[解决办法]
书上的一个例子。。


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

[解决办法]
你平时怎么弄 对话框程序的就怎么 写MFC DLL
比如你有1个窗口类. 你把你要做的工作都做好.
然后 
写1个 函数 
void XXXXX()
{
CXXXDlg xxxDlg;
xxxDlg.Domodal();
}
注意 资源的切换.
如果你用MFC 扩展DLL 自己找资料去吧.

热点排行