在一个工程中创建一个对话框资源,在另一个工程中创建该对话框类,但为什么用DoModal()无法显示出该对话框?

chinesefire 2005-06-29 02:25:52
我在一个工程(CTEST1)中新建一个对话框资源(IDD_DIALOG_TEST1),在另一个工程(CTEST2)中手动创建该对话框的类(CTest1Dlg).
但我在CTest2.cpp中写下如下语句,无法显示出该对话框

CTest1Dlg dlg;
dlg.DoModal();
已经在CTest2.cpp头部包含了相关的头文件,而且编译时候没有错误,但就是单击按钮时,没有任何反应。我用Messagebox测试,程序确实走到以上的语句出,但就是不显示对话框。不知道为什么?情帮忙?万分感谢!
...全文
107 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
chinesefire 2005-06-29
  • 打赏
  • 举报
回复
这个程序是把资源剥离出来,在CTEST2中是各类资源,包括我刚才创建的对话框资源。在CTEST1中创建各个对话框类,并实现对这些对话框类的操作。我是半路接手这个程序,不知道是怎样实现跨工程操作的。我自己在CTEST1创建一个对话框资源,然后在CTEST2中创建类,但用domodal()时不显示自己创建的对话框。
TO:handwolf(青松崖)。我是VC新手,不明白你的意思,能否说的详细点
handwolf 2005-06-29
  • 打赏
  • 举报
回复
资源不对,你需要把资源句柄设置成对话框资源所在的dll资源句柄
goodboyws 2005-06-29
  • 打赏
  • 举报
回复
如果是DLL
用AFX_MANAGE_STATE(AfxGetStaticModuleState( ));

goodboyws 2005-06-29
  • 打赏
  • 举报
回复
CTEST1是DLL么,否则资源必须和对话框在同一个工程
hxue1981 2005-06-29
  • 打赏
  • 举报
回复
为什么不建在一个工程下?两个工程中很容易出错!交叉的东西会带来麻烦!
xift_2008 2005-06-29
  • 打赏
  • 举报
回复
对话框的类CTest1Dlg也应该放在CTEST1中吧...
xift_2008 2005-06-29
  • 打赏
  • 举报
回复
跨工程使用对话框???
CodeKey 2005-06-29
  • 打赏
  • 举报
回复
使用 create 行不行

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧