怎么让一Dialog显示以后,自己消失

lybapple 2003-11-27 03:55:05
就是我在连接数据库的时候,
我想显示一个对话框之类的 东西,
表明现在正在连接。
连接成功之后,我想把对话框自动消失,跳出主界面?
那么,我该怎么来操作这个对话框?
...全文
294 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
mjznet 2003-11-27
  • 打赏
  • 举报
回复
1.在操作DB前打开一个监视线程,在线程中打开模式对话框;
2.对话框要有进度条,可以取消DB操作;(可以用公共变量控制)
3.当DB操作完成后,设置各公共变量;
4.在线程中监视公共变量,以关闭对话框,结束线程.
完!
manyqs 2003-11-27
  • 打赏
  • 举报
回复
在对话框里加个Timer,让它自己关掉,最省心
keiven 2003-11-27
  • 打赏
  • 举报
回复
在你连接的函数中去创建一个对话框.
CDlg *pDlg = new CDlg ;
pDlg -> Create(IDD_DIALOG) ;//IDD_DIALOG为那个对话框的ID
创建了以后就要把对话框显示出来,用下面的语句可以.
pDlg -> ShowWindow (SW_SHOW);
连接成功以后就销毁对话框用:
pDlg ->DestroyWindow () ;
还要记得收回资源,你前面new了一个对象所以也要delete.
Delete pDlg ;
boby168 2003-11-27
  • 打赏
  • 举报
回复
下面的代码是我用来解决对话框消失后进入主界面的,可以不让它闪,你看看有没有用
BOOL CMyApp::InitInstance()
{ ......
CMyDlg MyDlg
if (MyDlg.DoMal()==IDOK)//等对话框消失再显示主框架
{
m_pMainWnd->ShowWindow(SW_SHOW);
m_pMainWnd->UpdateWindow();
}
else
{
m_pMainWnd->DestroyWindow();
}
...
}

BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if (!CFrameWnd::PreCreateWindow(cs))
return false;
AfxGetApp()->m_nCmdShow=SW_HIDE;//防止启动的时候,主界面闪一下
return true;
}

jackwuwei 2003-11-27
  • 打赏
  • 举报
回复
在view类的OnCreate里显示对话框
DoModel之后,调用
SetTimer(1000,NULL);

在OnTimer里加入pDlg->DestroyWindow();
就可以了

一块石头123456 2003-11-27
  • 打赏
  • 举报
回复
调用函数OnOK()
niukl 2003-11-27
  • 打赏
  • 举报
回复
//成员变量
CMyMsgDlg *m_pDlg;

//需要显示时
pDlg=new CMyMsgDlg ;
pDlg->Create(106);
pDlg->ShowWindow(SW_RESTORE);

//关闭时
pDlg->DestroyWindow();
delete pDlg
sunnussunnus 2003-11-27
  • 打赏
  • 举报
回复
pdlg->ShowWindow(SW_HIDE);//消失~~~
carbon107 2003-11-27
  • 打赏
  • 举报
回复
根据你自已的想法,让他什么时候关闭就用下面的语句
PostMessage(WM_CLOSE);
ejb99666 2003-11-27
  • 打赏
  • 举报
回复
同意zhucde(【风间苍月】)的说
lshadow 2003-11-27
  • 打赏
  • 举报
回复
发消息就可以了啊WM_CLOSE
kof99th 2003-11-27
  • 打赏
  • 举报
回复
有了句柄什么都好办!
anni 2003-11-27
  • 打赏
  • 举报
回复
对,发个消息,或直接调用它的OnCancel关闭它。来迟啦!!!
zhucde 2003-11-27
  • 打赏
  • 举报
回复
CDlg *pdlg;//CDlg为你的对话框的类

以下为调出对话框:
pdlg=new CDlg;
pdlg->Create(IDD_ID);//IDD_ID为你的对话框的ID
pdlg->ShowWindow(SW_RESTORE);//显示

当你需要关闭时调用:
pdlg->DestroyWindow();//关闭
wy2001wy 2003-11-27
  • 打赏
  • 举报
回复
对呀,自己调个函数就得了呗.
dzqsuper 2003-11-27
  • 打赏
  • 举报
回复
就是这么个思路
photoman 2003-11-27
  • 打赏
  • 举报
回复
连接成功后调CDialog::OnCancel()
fayifu 2003-11-27
  • 打赏
  • 举报
回复
联接成功后发送给对话框消息WM_DESTROY
阿甘 2003-11-27
  • 打赏
  • 举报
回复
显示一个非modal的对话框,要消失的时候发关闭消息给它

16,472

社区成员

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

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

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