void DlgCScenarioManager::OnReName() { // TODO: Add your command handler code here HTREEITEM hItem = m_tree.GetSelectedItem(); if(hItem == NULL) return; //根据key值找到对应的工况 DWORD key = m_tree.GetItemData(hItem); Scenario *pScenario = m_manager.LookUp(key); Scenario *pAnScenario = pScenario->GetAnScenario(); DlgScenarioName dlg; dlg.m_strName = pScenario->GetName(); if(IDOK == dlg.DoModal()) { CString strName = dlg.GetName(); if(pAnScenario != NULL) { if(pAnScenario->CheckName(strName)) { pScenario->SetName(strName); m_tree.SetItemText(hItem,strName); UpdateData(FALSE); } else { AfxMessageBox(IDS_NAMEERROR); } } else { pScenario->SetName(strName); m_tree.SetItemText(hItem,strName); UpdateData(FALSE); } } }