美文网首页
MFC非模态对话框提示等待的实现

MFC非模态对话框提示等待的实现

作者: david_hmy | 来源:发表于2019-11-20 15:09 被阅读0次

需求:在某个button响应中,可能会执行一段耗时较长的函数,在调用这个函数的过程中,为了提示用户当前程序正在执行而不是死机,需要弹框让用户知道。并且当该函数执行完成后,提示对话框关闭。

解决:网上有很多问这个问题和解决这个问题的,但是都不直接和明确。首先我不需要多线程实现,我只是弹出一个提示框,不需要这个对话框做进度动画,一个静态的提醒就够了。其次,静态实现的解答中,遇到了弹出对话框是空白,没有响应的控件的问题。

这里贴出真正能够解决的方案:

// 1.非模态对话框创建和显示

CDialog dlg;

dlg.Create(IDD_DIALOG1); //IDD_DIALOG_SHOW为创建的要弹出的对话框

dlg.CenterWindow(this);    //对话框居中显示

dlg.SetDlgItemText(IDC_WAIT, "Alg running, please Wait..........");

dlg.ShowWindow(SW_SHOWNOACTIVATE);

dlg.UpdateWindow(); // 这个最重要,不执行控件无法显示

// 2.自己比较耗时的函数调用

// here call your own long-time process

// 3.关闭对话框

dlg.EndDialog(0);//处理完,关闭对话框

注:其中,IDD_DIALOG1为自己新插入的一个对话框:

IDC_WAIT为新建对话框中的一个static 控件。

相关文章

  • MFC非模态对话框提示等待的实现

    需求:在某个button响应中,可能会执行一段耗时较长的函数,在调用这个函数的过程中,为了提示用户当前程序正在执行...

  • VC++(七)对话框

    在MFC中,对资源的操作通常都是通过一个与资源相关的类来完成的。 模态对话框domodal 非模态对话框creat...

  • 第十三节 MFC的一些概念

    一、模态对话框和非模态对话框Windows对话框分为两类:模态对话框和非模态对话框。模态对话框是这样的对话框,当它...

  • mfc 非模态对话框 创建、释放 与 传参

    创建 非模态 对话框: 释放对话框内存,仅此即可 传参 构造函数 创建 非模态 对话框时,传参

  • MFC登陆对话框-模态对话框

    基于MFC,用模态对话框创建一个登陆对话框 静态显示图片或对话框 在C*App::InitINstance()中创...

  • Qt5 - 5. 对话框 QDialog

    Qt 中使用 QDialog 类实现对话框,通常是设计一个类继承 QDialog。Qt 的对话框分为模态对话框和非...

  • 2020-12-06--21--模态对话框的消息响应

    模态对话框,和非模态对话框,都可以用这个函数 代码运行结果:[图片上传中...(image.png-aa322f-...

  • IOS开发 警告对话框和等待提示器

    本节学习内容: 1.警告对话框和等待提示器的概念 2.警告对话框和等待提示器的属性 3.警告对话框和等待提示器的使...

  • 对话框

    MFC中添加新的对话框 MFC 点击按钮,弹出另一个对话框 MFC新建的对话框如何添加、重写初始化代码

  • 模态对话框与非模态对话框

    一、模态对话框:垄断了用户输入,当一个模态对话框打开时,用户只能与该对话框交互,而其他用户界面对象收不到输入信息。...

网友评论

      本文标题:MFC非模态对话框提示等待的实现

      本文链接:https://www.haomeiwen.com/subject/uauoictx.html