如何销毁动态创建的控件? 比如new了一个CButton, 叫m_Btn, 直接delete m_Btn会报错,是不是要先release?怎么写? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 m_Btn.DestoryWindow();不过类似于这样创建的控件,会自动销毁的 需要DestoryWindow();MSDN上有具体说明 delete m_Btn会报什么错m_Btn=NULL了么? CButton::~CButton(){ DestroyWindow();}所以直接delete一个CButton指针并不会造成错误。真正的错误可能是在delete之后还调用了该CButton指针。 控件对象在它的生命周期结束之后,系统会自动调用该对象的析构函数,而不需要人为地调用;若是定义了一个指向对象的指针,当不再需要时要手动delete 你动态创建的是一个实例,而不是一个指针,故可以不用人工释放,程序结束给自动销毁只有你创建的是一个指针时,才需要人工释放CXXXDlg::~CXXXDlg(){ if (m_pBtn != NULL) { delete m_pBtn; m_pBtn = NULL; }} m_Btn.DestoryWindow();delete m_pBtn;注意顺序 m_Btn.DestoryWindow();delete m_pBtn;注意顺序 Static控件显示图片 ActiveX注册成功, 但IE加载不上的原因有哪些 CString::Find如何使用(保证有分) 我就不信在郑州找不到4000大洋的工作,散分 谁有非阻塞模式的使用 select()模型而非WSAAnyscSelect()模型的例子???? 问专家,怎么样在客户端得到WEB服务器虚拟目录下的一幅图片 如何让CPorpertySheet里的TabCtl的标题排列在左边? 怎样在一副图片中加入文字,也是需要VC的源码 求教.hlp帮助文件的小问题 一个不难的问题 请问dc中的路径与剪切区的概念是怎么回事?不太明白 对话框程序如何能接收命令行参数?
MSDN上有具体说明
m_Btn=NULL了么?
CButton::~CButton()
{
DestroyWindow();
}所以直接delete一个CButton指针并不会造成错误。真正的错误可能是在delete之后还调用了该CButton指针。
只有你创建的是一个指针时,才需要人工释放
CXXXDlg::~CXXXDlg()
{
if (m_pBtn != NULL)
{
delete m_pBtn;
m_pBtn = NULL;
}
}
delete m_pBtn;注意顺序
delete m_pBtn;注意顺序