您的位置:首页 > 其它

MFC 中创建非模态对话框的若干注意事项

2018-01-05 21:34 267 查看
我先前按照网上的单一创建教程,在mfc工程中生成非模态对话框,但是一直出现问题,具体问题是什么已经记不起来了。我把正确的创建方式写在这里。
我的主窗口类为CADlg,子窗口类为CBDlg,我想在点击类CADlg窗口的一个控件的时候以非模态方式弹出关联了类CBDlg的子窗口。具体如下:
1、为子窗口添加类CBDlg,并在主类CADlg的头文件中包含类CBDlg的头文件;
2、在主类CADlg的头文件中添加两行代码:
class CBDlg;
class CADlg : public CDialogEx
{
// 构造
public:
CADlg(CWnd* pParent = NULL);// 标准构造函数
~CADlg();//析构函数
//用来创建细节显示的非模态对话框
CBDlg *Bdlg;
}
3、在主类CADlg的cpp文件中的函数CADlg::CADlg(CWnd* pParent /*=NULL*/): CDialogEx(CADlg::IDD, pParent)
     中添加初始化代码:
CADlg::CADlg(CWnd* pParent /*=NULL*/)//主窗口显示前的初始化
: CDialogEx(CADlg::IDD, pParent)
{
Bdlg = NULL;
}
4、在主类CADlg的cpp文件中的对应的控件响应函数中添加如下代码:
if (dlg== NULL)//判定对话框是否有所指向
{
dlg= newCBDlg();//指向一个非模对话框示例
dlg->Create(此处填入对应的子窗口ID, this);//创建
}
dlg->ShowWindow(SW_SHOW);//显示
5、完成!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  MFC 非模态对话框