www.pudn.com > Geotest.rar > DataSetsDlg.cpp
// DataSetsDlg.cpp : implementation file
//
#include "stdafx.h"
#include "geotest.h"
#include "DataSetsDlg.h"
#include "afxdao.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CDataSetsDlg dialog
CDataSetsDlg::CDataSetsDlg(CWnd* pParent /*=NULL*/)
: CDialog(CDataSetsDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CDataSetsDlg)
m_ctrlSelLayer = _T("");
m_layerName = _T("");
m_dataPath = _T("");
//}}AFX_DATA_INIT
m_pMapX=NULL;
}
CDataSetsDlg::CDataSetsDlg(CMapX *pMapX,CWnd* pParent /*=NULL*/)
: CDialog(CDataSetsDlg::IDD, pParent)
{ m_ctrlSelLayer = _T("");
m_dataPath = _T("");
m_pMapX=pMapX;
}
void CDataSetsDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDataSetsDlg)
DDX_Control(pDX, IDC_DataType, m_dataType);
DDX_Control(pDX, IDC_LIST_DATASET, m_listdataset);
DDX_LBString(pDX, IDC_LIST_DATASET, m_ctrlSelLayer);
DDX_Text(pDX, IDC_LayerName, m_layerName);
DDX_Text(pDX, IDC_EDIT1, m_dataPath);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CDataSetsDlg, CDialog)
//{{AFX_MSG_MAP(CDataSetsDlg)
ON_LBN_SELCHANGE(IDC_LIST_DATASET, OnSelchangeListDataset)
ON_BN_CLICKED(IDC_BUTTON1, OnSelData)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDataSetsDlg message handlers
BOOL CDataSetsDlg::OnInitDialog()
{
CDialog::OnInitDialog();
m_dataType.SetCurSel(0);
m_dataPath="E:\\工具软件\\MapInfo\\MapX 5.0\\data\\Mapstats.mdb";
// TODO: Add extra initialization here
//设置列表项
if(m_pMapX==NULL) return FALSE;
CMapXLayers Layers = m_pMapX->GetLayers();
int nIndex =-1;
for(int i=0;iAddRef();
int i=m_dataType.GetCurSel();
switch(i)
{
case 0 :
{
ds = m_pMapX->GetDatasets().Add(miDataSetDAO, rsVt,COleVariant("ADOSet"), optVt,
optVt, COleVariant(m_layerName), optVt, optVt);
AfxMessageBox("绑定成功!");
}
break;
case 1 :
{
ds = m_pMapX->GetDatasets().Add(miDataSetDAO, rsVt);
AfxMessageBox("绑定成功!");
}
break;
}
}
catch (COleDispatchException *e) {
e->ReportError();
e->Delete();
}
catch (COleException *e) {
e->ReportError();
e->Delete();
}
}
//改变图层选择的响应函数
void CDataSetsDlg::OnSelchangeListDataset()
{
UpdateData(TRUE);
m_layerName=m_ctrlSelLayer;
UpdateData(FALSE);
}
//设置选择文件的对话框
void CDataSetsDlg::OnSelData()
{
static char BASED_CODE szDataFilter[] = "Data Source (*.mdb)|*.mdb|All Files (*.*)|*.*||";
CFileDialog dlgFile(TRUE, "*.mdb", NULL, 0, szDataFilter, this);
if (dlgFile.DoModal()==IDCANCEL)
return;
dlgFile.m_ofn.lpstrTitle = "打开需要绑定的数据源";//对话框名称
m_dataPath= dlgFile.GetPathName();
UpdateData(FALSE);
}
//这里的返回值一定不能是指针,因为它返回的是一个临时指针,作用域在本文件,在另外文件不能使用了!!
CMapXDataset CDataSetsDlg :: OnGetDatasetName()
{
return ds;
}