鸡啄米
VS2010/MFC编程入门之十二(对话框:非模态对话框的创建及显示)›评论
-
24. 小红鱼:
AdditionDlg.h代码如下:
// 构造
public:
CAdditionDlg(CWnd* pParent = NULL); // 标准构造函数
~CAdditionDlg();//***新增:添加的析构函数
public:
省略几行
afx_msg void OnBnClickedAddButton();
private:
CTipDlg *m_pTipDlg;//***Private成员函数变量的定义
};
AdditionDlg.cpp代码如下:
CAdditionDlg::CAdditionDlg(CWnd* pParent /*=NULL*/)
省略几行
{
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
m_pTipDlg = NULL;//***增加成员函数的初始值
}
void CAdditionDlg::OnBnClickedAddButton()
{参考鸡啄米代码}
//***在.h中定义了析构函数,在cpp中具体化
CAdditionDlg::~CAdditionDlg()
{
// 如果非模态对话框已经创建则删除它
if (NULL != m_pTipDlg)
{
// 删除非模态对话框对象
delete m_pTipDlg;
}
}
运行可以能够看到效果~~滴滴答 于 2013-04-11 17:25:08 回复在 if (NULL != m_pTipDlg) 中
m_pTipDlg 显示“未定义”错误。
lcc 于 2013-9-21 14:34:25 回复error C2084: 函数“CAdditionDlg::~CAdditionDlg(void)”已有主体静影沉璧 于 2014-9-22 13:14:56 回复非常感谢,按你的方法,成功了。在下没有C++基础,不知道往哪加代码无语到彻底了 于 2014-10-31 15:21:45 回复整解决小混蛋 于 2015-4-17 11:29:16 回复非常感谢啊,解决了!刚开始直接在.h文件中进行初始化了,一直在报错!轻划水 于 2017-9-24 22:52:41 回复很有用 顶一顶2013/2/22 09:20
-
23. 扫地僧:
我在VS2010环境下,析构函数的添加,应该是“
// Destory
~CAdditionDlg()
{;}
而不是:
~CAdditionDlg();
否则会报错呀2013/2/21 16:17
-
22. 长门有希:
首先非常感谢你的教材,很适合MFC的入门。
我没有在“计算”按钮上修改,而是添加了一个“关于”按钮,让它弹出一个非模态对话框显示作者信息。
步骤按文中所说,显示出来后,“关于”按钮第一次按,正常显示出定制的非模态对话框。但是关掉这个对话框,再次点击“关于”按钮就出错了!!
错误是:Debug Assertion Failed!
retry以后打开一个wincore.cpp,“ASSERT(pWnd->m_hWnd == NULL); // only do once”左侧指针指向这一句。鸡啄米 于 2013-01-31 22:51:23 回复你应该是每次点“关于”按钮都create了一次非模态对话框,所以会报这个错误长门有希 于 2013-02-01 09:46:47 回复非常感谢!本来我把create语句放到了“关于”按钮的消息处理函数里面。把create语句移动到构造函数里面就可以了。每次点击按钮只是show,而不用重新new和create。2013/1/31 16:50
-
21. 千池:
今天看这一节,有点吃力了,看来得再看看C++的类了,继续学习!2013/1/23 21:36
-
20. 学习到深夜:
鸡啄米大哥
这一章那个两个代码插入写的真的不够详细,能不能补充下
不知道往哪加
2013/1/21 03:14
发表评论