怎样判断一个一个控件是否已经销毁

时间:2022-05-30 08:58:32

方法一:添加一个标志变量,这个变量既可以是类的一个成员变量,也可以是一个静态变量

////if (false==m_bIsCreate)  
//if(false==bIsCreate)
//{
// m_btn.Create(_T("手动添加控件"),BS_DEFPUSHBUTTON |WS_VISIBLE|WS_CHILD,
// CRect(0,0,100,100),this,1234);
// bIsCreate=true;
//}
//else
//{
// m_btn.DestroyWindow();
// bIsCreate=false;
//} <span style="font-size:18px;color:#33ff33;"><strong>
</strong></span>

方法二:从CWnd类继承下来的类都有一个成员变量m_hWnd,它保存了与类相关的窗口句柄。当窗口销毁时,会自动将m_hWnd赋值为空,所以就可以利用m_hWnd是否为空来判断Button是否已经销毁

if (!m_btn.m_hWnd)  
{
m_btn.Create(_T("手动添加控件"),BS_DEFPUSHBUTTON |WS_VISIBLE|WS_CHILD,
CRect(0,0,100,100),this,1234);
}
else
{
m_btn.DestroyWindow();
}