CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

我能否将一堆对话框做到一个DLL里面?

楼主toymaster()2000-03-07 16:10:00 在 VC/MFC / 基础类 提问

我的应用程序中有一堆对话框,若为每一个对话框生成一个类,实在是太多了,  
  我能否将它们都做到一个DLL文件里面?如果可以的话,怎么做? 问题点数:50、回复次数:6Top

1 楼Un1()回复于 2000-03-07 16:27:00 得分 50

可以,为类写一些方法,每一个方法显示一个对话框并处理。Top

2 楼Jackzhu()回复于 2000-03-07 16:37:00 得分 0

和添加对话框的过程一样,将对话框的类添加到dll中,再提供访问函数Top

3 楼laker()回复于 2000-03-07 18:39:00 得分 0

对于那些没有人机数据交换的类(比如About   Dialog),可以把它们放入一个DLL中,  
  与一个简单的类对应即可。  
  1     产生一个含有对话框资源的DLL文件  
  2     在使用时首先把DLL的resource.h文件包含进来,或直接define成相同的ID值  
        然后:  
  CString   sFile   =   "***.dll";  
  static   HINSTANCE   hinstDLL;  
  hinstDLL   =   LoadLibrary   (sFile);  
  if   (hinstDLL   <   (HINSTANCE)HINSTANCE_ERROR)  
  {  
  MessageBox   ("Error   Load   DLL");  
  return;  
  }  
   
  HINSTANCE   hinstPre   =   AfxGetResourceHandle   ();  
   
  AfxSetResourceHandle   (hinstDLL);  
   
  CAboutDlg   dlg   (IDD_DIALOG_***);  
  dlg.DoModal   ();  
   
  AfxSetResourceHandle   (hinstPre);  
   
  这样即使DLL中的资源ID与当前PROJECT中有冲突,也没有关系。  
  Top

4 楼zhongshan99(咬过的苹果)回复于 2000-03-08 12:27:00 得分 0

为每个对话框写一个类:class   AFX_EXT_CLASS   classname{};编译生成DLL.在应用程序里:classname   dlg;dlg.DoModal();Top

5 楼Idle()回复于 2000-03-08 14:02:00 得分 0

同意laker。要注意的是:一定要在你Load本模块的资源前把资源句柄设回来。Top

6 楼toymaster()回复于 2000-03-08 21:11:00 得分 0

谢谢laker的详细解答,但我还有一处不明:  
  程序编译了  
  CString   sFile   =   "***.dll";  
  static   HINSTANCE   hinstDLL;  
  hinstDLL   =   LoadLibrary   (sFile);  
  if   (hinstDLL   <   (HINSTANCE)HINSTANCE_ERROR)  
        {  
              MessageBox("Error   load   DLL");  
              return;  
        }  
  到此处都对,但编译后面的语句  
  CAboutDlg   dlg(IDD_DIALOG_***);  
  则出现错误:CAboutDlg   没有声明。这是为什么?在DLL中只简单地生成基于  
  对话框的类就行了吗?我想DLL还应提供输出接口。Top

相关问题

  • dll中显示对话框
  • dll中的对话框
  • 如何在DLL里建立对话框?
  • 如何在DLL中使用对话框
  • ****有关对话框和DLL的问题?****
  • DLL中的对话框输出问题
  • dll中的对话框,马上给分
  • 在dll中怎么使用对话框?
  • 如何在Dll中显示对话框??????
  • VC7 dll中的对话框问题

关键词

  • 文件
  • dll
  • 对话框
  • hinstdll
  • 做到
  • 能否
  • 类
  • sfile
  • 添加
  • 方法

得分解答快速导航

  • 帖主:toymaster
  • Un1

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo