CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

如何动态创建一个模态对话框?

楼主wingjer(蒹葭)2003-01-09 20:29:54 在 VC/MFC / 基础类 提问

通过CDialog的Creat方法可以动态创建一个非模态的对话框。  
  我想动态在我需要的时候创建一个模态对话框该如何做? 问题点数:50、回复次数:14Top

1 楼abrams(F-15E StrikeEagle)回复于 2003-01-09 20:31:22 得分 0

DialogBox  
  DoModalTop

2 楼ZHANG9652(剑神独孤求败)回复于 2003-01-09 20:36:08 得分 0

domodalTop

3 楼wingjer(蒹葭)回复于 2003-01-09 20:39:55 得分 0

CDialog的Creat函数是这么说明的:  
  Call   Create   to   create   a   modeless   dialog   box   using   a   dialog-box   template   from   a   resource.   You   can   put   the   call   to   Create   inside   the   constructor   or   call   it   after   the   constructor   is   invoked.  
   
  他说了是创建一个modeless   对话框,用doModal函数看不到对话框.  
  Top

4 楼zzz1228(zyl)回复于 2003-01-09 20:40:59 得分 0

Domodal(),说说具体的情况啊Top

5 楼new1mm(牛一哞@引刀削愁)回复于 2003-01-09 20:44:27 得分 0

CXXXDlg   dlg;  
  dlg.DoModal();  
   
  其中CXXXDlg是CDialog的派生类。Top

6 楼wingjer(蒹葭)回复于 2003-01-10 11:48:07 得分 0

下面的代码:  
  CXXXDlg   dlg;  
  dlg.SetWindowText(strFunctionFullName);  
  dlg.DoModal();  
   
  一运行到第二行就出错,为什么?  
  Top

7 楼zzz1228(zyl)回复于 2003-01-22 09:34:20 得分 0

CXXXDlg   dlg;  
  dlg.DoModal();  
  dlg.SetWindowText(strFunctionFullName);  
  换过来试试  
   
  Top

8 楼sinhighly(非典型程序员)回复于 2003-01-22 09:41:19 得分 0

upTop

9 楼hnyyy(前进)回复于 2003-01-22 09:45:31 得分 35

CXXXDlg   dlg;  
  //dlg.SetWindowText(strFunctionFullName);//此时对话框尚不创建,不能使用这句  
  dlg.DoModal();  
  Top

10 楼zzz1228(zyl)回复于 2003-01-22 09:51:29 得分 0

哦,还是不行,你用dlg.SetWindowText(strFunctionFullName);是为了  
  改变标题栏,那怎么不在Dialog里面直接改呢  
  或者这样吧,  
  CXXXDlg   *dlg   =   new   CXXXDlg;  
  dlg->DoModal();  
  dlg->SetWindowText(strFunctionFullName);  
  Top

11 楼zzz1228(zyl)回复于 2003-01-22 09:56:50 得分 0

CAboutDlg   *AboutDlg   =   new   CAboutDlg();  
    AboutDlg->Create(IDD_ABOUTBOX,/*对话框ID*/   AfxGetApp()->m_pMainWnd);  
  AboutDlg->ShowWindow(SW_SHOW);  
  AboutDlg->SetWindowText("LLL");  
  这样就行了,Top

12 楼zzz1228(zyl)回复于 2003-01-22 09:57:53 得分 0

改正上面的Top

13 楼demonking(编魔)回复于 2003-01-22 09:58:42 得分 10

hnyyy(前进)说的是对的  
   
  正规的要改应该是在OnInitDialog()   中调用SetWindowText(strFunctionFullName);Top

14 楼andy_lau(天行键,君子当自强不息!)回复于 2003-01-22 10:03:36 得分 5

,嗯,在OnInitDialog()   中调用SetWindowText(strFunctionFullName);  
  调用  
  Top

相关问题

  • 如何创建非模态对话框?
  • 没有对话框资源模板,怎样用CreateDialogIndirect()创建模态对话框??
  • MFC 工程中如何创建非模态对话框
  • 如何创建一个模态对话框
  • 在DLL中创建非模态对话框的问题
  • ---模态对话框中如何动态更改botton状态
  • 如何动态的创建对话框?
  • 线程中创建动态对话框
  • 怎样动态创建一非模态对话框,其父窗体是MDI中某一子窗体,用什么函数?内附代码
  • 如果不使用对话框资源的话怎么创建一个模态对话框?

关键词

  • cxxxdlg
  • strfunctionfullname
  • 对话框
  • dlg
  • 模态
  • setwindowtext
  • aboutdlg
  • domodal
  • 调用
  • 动态

得分解答快速导航

  • 帖主:wingjer
  • hnyyy
  • demonking
  • andy_lau

相关链接

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

广告也精彩

反馈

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