如图所示,当我要在主对话框按下“添加联系人”按钮后弹出一个子对话框“添加联系人”。
实现过程
1.先创建子对话框,这个方法很多。
比如在Resource View(资源视图)鼠标右键Dialog然后点击 插入Dialog(E)就创建成功啦。
(或则在File View(解决方案资源管理器)右键Resource Files,然后选择 添加 ,在选择 资源,得到
再选择dialog 最后点击新建,就可以了)等等(还是第一个方便)
2.建好子对话框后,修改它的相应属性(养成良好习惯)
当然它作为对话框,你也可以在该对话框添加各种控件…
3.添加子对话框类。添加完子对话框之后,想要它起作用,还需要添加子对话框类。
选中子对话框,点击鼠标右键,选择“添加类“
然后输入类名,这里我写了AddContacts(根据自己实际项目的需要)然后确定保存
主窗口链接相应控件,通过点击相应控件弹出子对话框。
回到主对话框源代码,在开头添加子对话框的头文件。#include"AddContacts"
然后创建AddContacts类对象,添加源代码,
void CMFCApplication6Dlg::OnBnClickedButtonAdd() //相应的控件
{
// TODO: 在此添加控件通知处理程序代码
INT_PTR nResponse;// <用于保存DoModal函数的返回值>
AddContacts addContacts; //创建AddContacts类对象
nResponse = addContacts.DoModal();
if (nResponse == IDOK) // 判断返回值是否为OK按钮
{
// TODO: Place code here to handle when the dialog is
// dismissed with OK
MessageBox(_T("联系人添加成功"));
}
else if (nResponse == IDCANCEL) // 判断返回值是否为Cancel按钮
{
// TODO: Place code here to handle when the dialog is
// dismissed with Cancel
}
}
然后就上机咯,尝试咯,记住操作咯。