非模态对话框 【MFC】

 

创建

       CVolSetDlg*m_pVolDlg=NULL;

       m_pVolDlg=newCVolSetDlg;

       m_pVolDlg->Create(IDD_DLG_VOL);

       m_pVolDlg->ShowWindow(SW_SHOW);         

 

销毁

 

[1]:

 

重载OnCancel函数

 

void CXX::OnCancel()

{

       //TODO: Add your specialized code here and/or call the base class

 

       CDialog::OnCancel();

}

 

[2]:

 

屏蔽掉CDialog::OnCancel();,并添加

DestroyWindow();

 

如下:

void CXX::OnCancel()

{

       //TODO: Add your specialized code here and/or call the base class

       DestroyWindow();

       //CDialog::OnCancel();

}

 

 

[3]:

 

添加消息WM_DESTROY

 

在响应函数中添加要释放资源的操作:

void CXX::OnDestroy()

{

//release resourse ...

 

 CDialog::OnDestroy();

}

 

[4]:

重载PostNcDestroy函数,添加delete this;

void CXX::PostNcDestroy()

{

       //TODO: Add your specialized code here and/or call the base class

       deletethis;

       CDialog::PostNcDestroy();   

}

因为非模态对话框一般是通过new来创建的;

CXX *pXXDlg=new CXX(); 

所以在释放资源时必须要用delete来删除

 

如果是在外部删除的,那么不需要在CXX::PostNcDestroy中添加delete this;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值