1. 程式人生 > >怎樣判斷一個一個控制元件是否已經銷燬

怎樣判斷一個一個控制元件是否已經銷燬

方法一:新增一個標誌變數,這個變數既可以是類的一個成員變數,也可以是一個靜態變數

////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();  
}