void DlgCScenarioManager::OnCreatChild() { // 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 = GetCurScenario(); DlgScenarioName dlg; if(IDOK == dlg.DoModal()) { //检查名称没有存在子工况则增加一个子工况 CString strName = dlg.GetName(); if(pScenario->CheckName(strName)) { InsertTree(m_manager.AddChildScenario(pScenario,strName),hItem); InitPage(); UpdateData(FALSE); } else { AfxMessageBox(IDS_NAMEERROR); } } }
CString DlgCScenarioManager::DefaultName(Scenario *pScenario) { Scenario *pAnScenario = pScenario->GetAnScenario(); CString strName = pScenario->GetName(); CString strNewName; if(pAnScenario != NULL) { int i = 2; do { strNewName.Format(_T("%s(%d)"),strName,i); i++; } while(!pAnScenario->CheckName(strNewName)); } return strNewName; }
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); } } }