实现操作过程提示对话框

在使用Windows95 进行文件拷贝或者删除操作时,您一定见到过那种具有文件动画的操作过程提示对话框。这一功能的加入不仅使我们能够在操作过程当中随时取消操作,而且也使文件拷贝或者删除操作变得生动活泼。其实,在使用Visual C++ 进行应用程序设计时,我们也可以使用下述方法在适当位置加入自己的操作过程提示对话框。为每一个操作过程提示对话框创建一个对话框类。为了下面叙述方便,我们只假设应用程序需要一个操作过程提示对话框并以“CModel”作为对应的对话框类的名字。

使用Visual C++ 提供的资源编辑器编辑提示对话框,比如加入一些文字说明和动画等。

在CModel 类的头文件(Model.h) 中,加入两个成员变量,CWnd* m_pParent; // 指向调用该提示对话框的框架类( 或对话框类),即它的“父类”int m_nID;// 记录该提示对话框的ID 号

以及下面两个成员函数:

CModel(CWnd* pParent = NULL); // 舍弃原有的构造函数,或者把原函数修改成这种无模式对话框的构造函数BOOL Create(); // 该函数将调用创建基类的Create() 函数创建对话框

在Model.cpp 文件中,加入相应函数的实现部分。

CModel::CModel(CWnd* pParent /*=NULL*/)
: CDialog(CModel::IDD, pParent)
{
m_pParent=pParent;
m_nID=CModel::IDD;
//{{AFX_DATA_INIT(CModel)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}
BOOL CModel::Create()
{
return CDialog::Create(m_nID,m_pParent);
}

同时按下Ctrl 和W 键或直接单击工具条上的ClassWizard 按钮,打开ClassWizard 对话框。在类名(Class name) 列表框中选择该提示对话框类,在Object IDs 列表框中选择该类的类名后,在消息(Messages) 列表框中选择PostNcDestroy 消息并双击它,这时ClassWizard 就会在该对话框类中加入一个PostNcDestroy() 函数。该函数将会在对话框窗口消失后,由OnNcDestroy() 函数调用。因此,可以在该函数中加入一些扫尾工作,例如数据传送,释放指针空间等。

void CModel::PostNcDestroy()
{
// TODO: Add your specialized code here and/or call the base class
delete this;
CDialog::PostNcDestroy();
}

在要调用提示对话框类的类的头文件中,先包含(#include)CModel 类的头文件,再声明一个指向CModel 类的对象的指针,如m_Dlg,并在该类的构造函数中,加入“m_Dlg = NULL;”一句。然后,在打开和关闭提示对话框的函数中加入如下一段程序:

if (m_Dlg==NULL) {//如果当前没用提示对话框在活动,就创建一个
m_Dlg = new CModel(this);
m_Dlg->Create();
GetDlgItem(IDC_EXPORT)->EnableWindow(FALSE);
}
else//否则就激活它
m_Dlg->SetActiveWindow();

另外,再在要关闭提示对话框的地方,加入如下语句:

m_Dlg->DestroyWindow();

m_Dlg=NULL;

时间: 2024-08-02 02:02:09

实现操作过程提示对话框的相关文章

XP系统打不开Word提示“对话框打开时命令无法执行”如何解决

  XP系统打不开Word提示"对话框打开时命令无法执行"如何解决 一.Word安全模式-问题分析 1.Word在出现问题的时候,不能正常运行就会自动进去Word安全模式了,上述反馈的问题,就是这类.出现这样的问题.一般是Word的模版文件Normal.dot损坏了. 二.打开显示系统所有文件,包括系统隐藏文 1.既然是Word模板出现问题了,那我们找到那个模板的存放位置.可以有下面2种方法. 由于Word模板属于系统隐藏保护文件,我们需要把文件显示出来. 下面以XP为例,找到开始--

怎样取消关闭IE窗口时的提示对话框

一些Win7用户发现自己的浏览器在关闭网页时,没有了关闭提示对话框,导致自己经常会误关一些网页.那么,该怎么将这个提示对话框找回来呢?下面就是具体的步骤啦. 解决方法: 1.打开IE浏览器,然后点击菜单栏上的[工具],选择[Internet选项]; 2.打开Internet选项后点击选项卡区域的"设置"按钮; 3.在打开选项卡设置窗口后,我们勾选其中的"关闭多个选项卡时发出警告"的选项,然后确定,如下图所示:   这就是解决Win7浏览器关闭网页时没有关闭提示对话框

请问:弹出提示对话框问题

问题描述 问题是这样的:我想在点击"保存"按钮后给数据库中插入一条记录,然后弹出提示对话框提示"操作成功",然后直接跳转到其它页.我想使用this.ClientScript.RegisterStartupScript(this.GetType(),"","alert('操作成功');",true);然后Response.redirect("other.aspx");但是如果加上了Response.redir

在Asp.net中如何实现弹出提示对话框

asp.net|对话框 C#中,弹出窗口的代码为: MessageBox("用户名或密码错误!","错误:"); 而在Asp.net中,则不可以用这种方法了,这时我们可以写一个类Message(名字随便取),内容如下: //---------------------------------------//作者:明天去要饭//QQ:305725744//--------------------------------------- using System; name

WinForm MessageBox 提示对话框

public class MessageUtil { /// <summary> /// 显示一般的提示信息 /// </summary> /// <param name="message">提示信息</param> public static DialogResult ShowTips(string message) { return MessageBox.Show(message, "提示信息",MessageBo

vc鼠标跟随提示对话框

问题描述 请问用vc如何实现鼠标移动时,在鼠标右下角提示当前的坐标,比如将鼠标移动到word文件的图标上时,出现的文件属性提示,谢谢!

js 弹出提示对话框

提示:您可以先修改部分代码再运行 111222 www.111cn.net 提示:您可以先修改部分代码再运行

详解Android中提示对话框(ProgressDialog和DatePickerDialog和TimePickerDialog&PopupWindow)

ProgressDialog(精度条对话框): 1.直接调用ProgressDialog提供的静态方法show()显示 2.创建ProgressDialog,再设置对话框的参数,最后show()出来 package com.example.test3; import android.app.Activity; import android.app.ProgressDialog; import android.content.Context; import android.os.Bundle; i

Android中Notification 提示对话框

Notification,俗称通知,是一种具有全局效果的通知,它展示在屏幕的顶端,首先会表现为一个图标的形式,当用户向下滑动的时候,展示出通知具体的内容. 一.Notification用于状态栏显示通知的控件,在不同的设备上面Notification是不一样的 二.Notification的基本布局 元素组成: Icon/Photo:大图标 Tiltle/Name:标题 Message:内容消息 Timestamp:通知的时间,默认是系统发出的时间,也可以通过setWhen()来设置 secon