long CCompileEditView::DeleteCurExp(WPARAM wParam /*= 0*/, LPARAM lParam /*= 0*/) { HSTreeToCompileEdit* pppData = (HSTreeToCompileEdit*)lParam; if(pppData == NULL) return 0; CTreeGroup* pTreeGroup = (CTreeGroup*)pppData->m_pName; if(pTreeGroup != NULL) { CExpression* pExpress = pTreeGroup->GetData(); if(pExpress != NULL) { CString strName; strName.Format("%s",pExpress->GetName()); CValue* pValoare; if ( m_pExternExpression->Lookup(strName,pExpress->GetExpressType(),pValoare) ) { if( !pExpress->GetPWD().IsEmpty() ) // 有密码 { CInputPassPwD dlg(this,_T("请输入公式密码"),strName); dlg.m_pExp = pExpress; if( dlg.DoModal() == IDCANCEL ) { return 2; } } if( wParam ) { m_pExternExpression->RemoveKey(strName,pExpress->GetExpressType()); delete pValoare; } } if(m_pwndDlgMainBar != NULL) { CComboBox* pCombox = (CComboBox*)m_pwndDlgMainBar->GetDlgItem(IDC_NAMECOMBO); if(pCombox != NULL) { int nIndex = pCombox->FindString( 0, strName ); if(nIndex != -1) { pCombox->DeleteString( nIndex ); } } } } } else { } if(m_hExpressInTreePos == (HTREEITEM)pppData->m_pData) { OnNewExpress(); } return 0; }