// 清除指定名字的子控件 BOOL CControlBase::RemoveControl(CString strControlName, UINT uControlID) { vector<CControlBase*>::iterator it; for(it=m_vecControl.begin();it!=m_vecControl.end();++it) { CControlBase* pControlBase = *it; if (pControlBase && pControlBase->IsThisObject(uControlID, strControlName)) { // 如果是焦点控件,则需要先将焦点设置为空 if(pControlBase->IsFocusControl()) { CDlgBase* pDlg = GetParentDialog(FALSE); if(pDlg) { pDlg->SetFocusControlPtr(NULL); } } m_vecControl.erase(it); delete pControlBase; return TRUE; } } return FALSE; }