MFC 弹出一新对话框

方法一:模态对话框

资源视图--Dialog--右键--添加资源--新建--对话框--右键--添加类。例如:添加CMyNewDlg类,在所要调的代码中(按钮点击方法中),先加头文件#include   "CMyNewDlg.h ",之后在按钮点击方法中:

void COnclickDlg::OnBnClickedOk()
{
     CMyNewDlg  Dlg;
     Dlg.DoModal();
}

 

方法二:非模态对话框

资源视图--Dialog--右键--添加资源--新建--对话框--右键--添加类。例如:添加CMyNewDlg类,在所要调的代码中(按钮点击方法中),先加头文件#include   "CMyNewDlg.h ",之后在按钮点击方法中:

void COnclickDlg::OnBnClickedOk()
{
     CMyNewDlg  *pDlg=new CMyNewDlg ;
     pDlg->Create(IDD_DIALOG2,this);
     pDlg->ShowWindow(SW_SHOW);
}

转自: http://hi.baidu.com/weiwei_0825/item/deae41c8b664091c0bd93a7d
<think>好的,用户想了解如何在MFC中创建弹出提示对话框。首先,我需要回忆MFC的基本知识,MFC使用的是C++,所以需要用C++的语法来实现。 用户提到的是“弹出提示对话框”,通常这指的是模态对话框,比如消息提示框。常见的简单提示可以用AfxMessageBox或者MessageBox函数。这两个函数都是用来显示消息的,但可能有一些区别,需要确认一下它们的参数和用法。 首先,AfxMessageBox是MFC的全局函数,而MessageBox是CWnd类的成员函数,所以调用的时候可能需要指定父窗口。例如,在视图类或对话框类中,可以使用this->MessageBox()。而AfxMessageBox可以直接使用,不需要父窗口指针。 接下来,需要说明基本的用法,比如显示一个简单的提示,比如“操作成功”。代码示例可能是AfxMessageBox(_T("操作成功"), MB_OK | MB_ICONINFORMATION); 这里要注意字符集的问题,使用_T宏来支持Unicode和多字节字符集。 另外,如果需要更复杂的对话框,比如自定义按钮或图标,可能需要使用MessageBox的不同参数。比如MB_YESNO和MB_ICONQUESTION组合,可以创建一个有“是”和“否”按钮的对话框,并处理返回值,比如IDYES或IDNO。 用户可能还需要知道如何获取用户的选择,比如当用户点击确定或取消时的处理。这时候需要说明返回值的类型,比如MessageBox返回的是int,对应不同的按钮ID。 另外,如果要创建自定义的对话框资源,比如带有更多控件的话,就需要用CDialog类来创建模态对话框。这时候的步骤包括:创建对话框资源,添加控件,生成对话框类,然后使用DoModal方法弹出。 需要注意的是,资源编辑器中创建对话框,设置属性,然后通过类向导关联变量和消息处理函数。这部分可能需要详细说明步骤,但用户的问题可能更倾向于简单的提示框,所以可能不需要深入到这里,但可以简要提及。 同时,需要确保代码示例正确,比如使用正确的函数名和参数,以及正确的宏,比如MB_OK等。还要注意MFC中字符串的使用,比如使用CString或者_T()来处理字符串。 可能还需要提醒一些常见问题,比如模态与非模态对话框的区别,如何确保对话框正确弹出,以及如何处理对话框的返回值。例如,如果用户点击了“确定”按钮,则执行某些操作,否则不执行。 总结一下,回答的结构应该是先介绍简单的消息框,使用AfxMessageBox和MessageBox,给出代码示例,说明参数的含义,然后如果有更复杂的需求,可以提到自定义对话框资源的方法,并简要说明步骤。确保用户能够根据需求选择合适的方法,并正确实现弹出提示对话框的功能。</think>在MFC中创建弹出提示对话框的步骤如下: ### 一、简单消息提示框 使用Windows API或MFC内置函数快速实现: 1. **AfxMessageBox 方法** ```cpp // 基础提示(确定按钮+信息图标) AfxMessageBox(_T("操作成功"), MB_OK | MB_ICONINFORMATION); // 带询问的对话框(是/否按钮+问号图标) int nResult = AfxMessageBox(_T("确认删除?"), MB_YESNO | MB_ICONQUESTION); if (nResult == IDYES) { // 用户点击"是"的逻辑 } ``` 2. **CWnd::MessageBox 方法** ```cpp // 在视图/对话框类中使用 this->MessageBox(_T("文件保存成功"), _T("提示"), MB_OKCANCEL | MB_ICONWARNING); ``` ### 二、自定义对话框(进阶) 当需要复杂布局时: 1. **创建对话框资源** - 在资源视图中右键添加新对话框(IDD_MY_DIALOG) - 拖拽添加静态
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值