コード例 #1
0
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);
		}
	}

}
コード例 #2
0
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;
}
コード例 #3
0
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);
		}
	}

}