CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

求救!无模式对话框!急

楼主hxuanyu()2006-03-03 09:46:59 在 VC/MFC / 基础类 提问

请问创建无模式对话框是否只要两步:  
  第一步:   dlg.Create(IDD_LOGIN_DIALOG,NULL);  
  第二步:   dlg.ShowWindow(SW_SHOWMAXIMIZED);  
   
  但是好像只是第一步执行完后   屏幕闪了一下   就没有了   请问是为什么   多谢 问题点数:20、回复次数:8Top

1 楼handsomerun(毛毛)回复于 2006-03-03 09:50:17 得分 0

dlg是个局部变量吧  
   
  你在某个函数里调用上述代码的吗??  
  等你的函数执行完了,dlg的生存期也结束了  
  所以闪了一下就没有了,应该是这个原因吧Top

2 楼ydfivy(我就是一送外卖的)回复于 2006-03-03 09:52:45 得分 0

handsomerun(毛毛)   说的对.  
  估计是这个原因.dlg定义为类变量就好了.Top

3 楼lzzqqq(Jonersen)回复于 2006-03-03 09:56:36 得分 0

是的,执行完后就释放了.应该把dlg定义成类的员变量.Top

4 楼hxuanyu()回复于 2006-03-03 10:03:10 得分 0

好像不是     我新建了一个工程   加入了对话框类  
  在CLogInApp::InitInstance里面有  
   
  {  
  //.........  
  CLogInDlg   dlg;  
  m_pMainWnd   =   &dlg;  
  dlg.Create(IDD_LOGIN_DLG,NULL);  
  dlg.show(SW_SHOWMAXIMIZED);  
  }  
  问题是就在Create运行后闪了一下,show的时候也闪了一下,但是f11到函数右括号时对话框就不见了阿Top

5 楼piaozhou_cd(漂舟)回复于 2006-03-03 10:11:14 得分 0

我认为:  
   
  方法一:  
          如为CLogInDlg为与对话框已经关联的类,则  
          {  
                    CLogInDlg   dlg;  
                    m_pMainWnd   =   &dlg;  
                    int   nRet   =   dlg.DoModal();  
                    //   可以判断返回值,来检测用户按哪个键退出的对话框  
                    //   来做相应的操作  
          }  
  方法二:  
          {  
                  CLogInDlg   *dlg;  
                  dlg   =   new   CLogInDlg;  
                  dlg->Create(IDD_LOGIN_DLG,NULL);  
                  m_pMainWnd   =   dlg;  
                  dlg.ShowWindow(SW_SHOW);                  
          }  
  不知正确否?Top

6 楼Atomictry(天影)回复于 2006-03-03 10:19:31 得分 0

把CLogInDlg   dlg;移到LogInApp.h中Top

7 楼weiyongzhao(好人)回复于 2006-03-03 10:28:32 得分 0

你这样试一试  
   
  1首先创建MFC程序  
  2然后添加对话框资源,IDD_DIALOG1  
  3建立对话框的类     CFeiModal  
  4载MainFrame.h中添加  
    #include   "FeiModel.h"  
    public:  
                  CFeiModel   *feimodel;     //创建指向CFeiModel类的指针  
  5设置菜单项,添加事件处理函数  
  6void   CMainFrame::OnFeimodel()  
  {  
    feimodel=new   CFeiModel(this);  
    feimodel->Create(IDD_DIALOG1);  
    feimodel->ShowWindow(SW_RESTORE);    
  }  
   
  Top

8 楼lonkil(www.vcfans.com)回复于 2006-03-03 10:34:16 得分 0

handsomerun(毛毛)   --->正解  
  Top

相关问题

  • 无模式对话框!!!急
  • 紧急求解!无模式对话框关闭??
  • 请教无模式对话框的问题,急!!
  • 无模式对话框问题-急,在线等
  • 模式与无模式对话框?
  • 关于无模式对话框
  • 怎么删除无模式对话框
  • 无模式对话框的父窗口???
  • 无模式对话框问题
  • 无模式对话框问题

关键词

  • 函数
  • 执行
  • null
  • dlg
  • 对话框
  • clogindlg
  • feimodel
  • cfeimodel
  • idd
  • 闪了一下

得分解答快速导航

  • 帖主:hxuanyu

相关链接

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

广告也精彩

反馈

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