www.gusucode.com > VC++开发的ACD树形策略编辑器-源码程序 > VC++开发的ACD树形策略编辑器-源码程序/code/GetField.cpp

    //Download by http://www.NewXing.com
// GetField.cpp : implementation file
//

#include "stdafx.h"
#include "dsACD_IVR.h"
#include "GetField.h"

#include "dsACD_IVRDoc.h"
#include "dsACD_IVRView.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CGetField dialog


CGetField::CGetField(CWnd* pParent /*=NULL*/)
	: CDialog(CGetField::IDD, pParent)
{
	//{{AFX_DATA_INIT(CGetField)
	m_csComment = _T("");
	m_csName = _T("");
	m_csField = _T("");
	m_csVariable = _T("");
	//}}AFX_DATA_INIT
}


void CGetField::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CGetField)
	DDX_Text(pDX, IDC_FIELD_COMMENT, m_csComment);
	DDX_CBString(pDX, IDC_FIELD_CONN, m_csName);
	DDX_CBString(pDX, IDC_FIELD_NAME, m_csField);
	DDX_CBString(pDX, IDC_FIELD_VARIABLE, m_csVariable);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CGetField, CDialog)
	//{{AFX_MSG_MAP(CGetField)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CGetField message handlers

BOOL CGetField::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	CComboBox *pName=(CComboBox *)GetDlgItem(IDC_FIELD_CONN);
	CComboBox *pField=(CComboBox *)GetDlgItem(IDC_FIELD_NAME);
	CComboBox *pVariable=(CComboBox *)GetDlgItem(IDC_FIELD_VARIABLE);

	CString buf1, buf2, csVarName, csDBConnName;

	m_pDsACD_IVRView->ReadVariable(buf1);
	while (!buf1.IsEmpty())
	{
		csVarName = buf1.Left(buf1.Find(";" ));
		pField->AddString(csVarName);
		pVariable->AddString(csVarName);
		buf1.Delete(0, buf1.Find(";" )+1);
	}
	m_pDsACD_IVRView->ReadDBConn(buf2);
	while (!buf2.IsEmpty())
	{
		csDBConnName = buf2.Left(buf2.Find(";" ));
		pName->AddString(csDBConnName);
		buf2.Delete(0, buf2.Find(";" )+1);
	}

	int nIndex;

	nIndex = pName->SelectString(-1, m_csName);
	pName->SetCurSel(nIndex);

	nIndex = pField->SelectString(-1, m_csField);
	pField->SetCurSel(nIndex);

	nIndex = pVariable->SelectString(-1, m_csVariable);
	pVariable->SetCurSel(nIndex);

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CGetField::DisplayDlg(dsACDObjectBase *pObj)
{
	dsField_INFO * pInfo = (dsField_INFO*) pObj->Read();

	m_csName = pInfo->Name;
	m_csField = pInfo->Field;
	m_csVariable = pInfo->Variable;
	m_csComment = pInfo->Comment;

	if(DoModal()==IDOK)
	{
		if (m_csName == "")
			m_csName = "无数据库";
		if (m_csField == "")
			m_csField = "空";
		if (m_csVariable == "")
			m_csVariable = "无变量";

		pInfo->Name = m_csName;
		pInfo->Field = m_csField;
		pInfo->Variable = m_csVariable;
		pInfo->Comment = m_csComment;
	}
	else 
		return;
}