www.gusucode.com > VC++开发的ACD树形策略编辑器-源码程序 > VC++开发的ACD树形策略编辑器-源码程序/code/VarOperate.cpp
//Download by http://www.NewXing.com // VarOperate.cpp : implementation file // #include "stdafx.h" #include "dsACD_IVR.h" #include "VarOperate.h" #include "ReturnValue.h" #include "dsACD_IVRDoc.h" #include "dsACD_IVRView.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CVarOperate dialog CVarOperate::CVarOperate(CWnd* pParent /*=NULL*/) : CDialog(CVarOperate::IDD, pParent) { //{{AFX_DATA_INIT(CVarOperate) m_csDestVar = _T(""); m_csOpeType = _T(""); m_csResult = _T(""); m_csSrcVar = _T(""); m_csComment = _T(""); //}}AFX_DATA_INIT } void CVarOperate::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CVarOperate) DDX_CBString(pDX, IDC_DESTVAR, m_csDestVar); DDX_CBString(pDX, IDC_OPETYPE, m_csOpeType); DDX_CBString(pDX, IDC_RESULTVAR, m_csResult); DDX_CBString(pDX, IDC_SRCVAR, m_csSrcVar); DDX_Text(pDX, IDC_VARCOMMENT, m_csComment); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CVarOperate, CDialog) //{{AFX_MSG_MAP(CVarOperate) ON_BN_CLICKED(IDC_VAR_RETURN, OnVarReturn) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CVarOperate message handlers BOOL CVarOperate::OnInitDialog() { CDialog::OnInitDialog(); CComboBox *pResult=(CComboBox *)GetDlgItem(IDC_RESULTVAR); CComboBox *pOpeType=(CComboBox *)GetDlgItem(IDC_OPETYPE); CComboBox *pDestVar=(CComboBox *)GetDlgItem(IDC_DESTVAR); CComboBox *pSrcVar=(CComboBox *)GetDlgItem(IDC_SRCVAR); CString buf, csNameString; m_pDsACD_IVRView->ReadVariable(buf); while (!buf.IsEmpty()) { csNameString = buf.Left(buf.Find(";" )); pResult->AddString(csNameString); pDestVar->AddString(csNameString); pSrcVar->AddString(csNameString); buf.Delete(0, buf.Find(";" )+1); } int nIndex; nIndex = pResult->SelectString(-1, m_csResult); pResult->SetCurSel(nIndex); nIndex = pOpeType->SelectString(-1, m_csOpeType); pOpeType->SetCurSel(nIndex); // nIndex = pDestVar->SelectString(-1, m_csDestVar); // pDestVar->SetCurSel(nIndex); nIndex = pSrcVar->SelectString(-1, m_csSrcVar); pSrcVar->SetCurSel(nIndex); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CVarOperate::DisplayDlg(dsACDObjectBase *pObj) { dsVO_INFO * pVOInfo = (dsVO_INFO*) pObj->Read(); m_csResult = pVOInfo->Result; m_csOpeType = pVOInfo->OpeType; m_csDestVar = pVOInfo->DestVar; m_csSrcVar = pVOInfo->SrcVar; m_csComment = pVOInfo->Comment; if(DoModal()==IDOK) { if (m_csResult == "") m_csResult = "无变量"; if (m_csOpeType == "") m_csOpeType = "无操作"; if (m_csDestVar == "") m_csDestVar = "空"; if (m_csSrcVar == "") m_csSrcVar = "空"; pVOInfo->Result = m_csResult; pVOInfo->OpeType = m_csOpeType; pVOInfo->DestVar = m_csDestVar; pVOInfo->SrcVar = m_csSrcVar; pVOInfo->Comment = m_csComment; } else return; } void CVarOperate::OnVarReturn() { CReturnValue returnvalue; if(returnvalue.DoModal()!=IDOK) return ; m_csDestVar = "“" + returnvalue.m_csReturn + "”"; UpdateData(FALSE); }