import3dgn1datasetdlg.cpp

来自「用VC+SuperMap开发的校园GIS系统」· C++ 代码 · 共 148 行

CPP
148
字号
// Import3Dgn1DatasetDlg.cpp : implementation file
//

#include "stdafx.h"
#include "CampusGis.h"
#include "Import3Dgn1DatasetDlg.h"
#include "Import2VDatasetDlg.h"
#include "afxdlgs.h"

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

/////////////////////////////////////////////////////////////////////////////
// CImport3Dgn1DatasetDlg dialog


CImport3Dgn1DatasetDlg::CImport3Dgn1DatasetDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CImport3Dgn1DatasetDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CImport3Dgn1DatasetDlg)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}


void CImport3Dgn1DatasetDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CImport3Dgn1DatasetDlg)
	DDX_Control(pDX, IDC_EDITSTYLEMAP, m_editStyleMap);
	DDX_Control(pDX, IDC_EDITCOLORFILE, m_editColorFile);
	DDX_Control(pDX, IDC_CMBDGNUNIT, m_cmbDgnUnit);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CImport3Dgn1DatasetDlg, CDialog)
	//{{AFX_MSG_MAP(CImport3Dgn1DatasetDlg)
	ON_BN_CLICKED(IDBACK, OnBack)
	ON_BN_CLICKED(IDC_BTNCOLORFILE, OnBtnColorFile)
	ON_BN_CLICKED(IDC_BTNSTYLEMAP, OnBtnStyleMap)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CImport3Dgn1DatasetDlg message handlers

BOOL CImport3Dgn1DatasetDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	//初始化DGN转入单位
	m_cmbDgnUnit.AddString(_T("主单位"));
	m_cmbDgnUnit.AddString(_T("从单位"));
	m_cmbDgnUnit.AddString(_T("最小分辨率"));
	m_cmbDgnUnit.SetCurSel(2);
	m_editColorFile.SetWindowText(_T(""));

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

void CImport3Dgn1DatasetDlg::OnBack() 
{
	//上一步
	CImport2VDatasetDlg *dlg=(CImport2VDatasetDlg *)GetParent();
	dlg->ShowWindow(SW_SHOW);
	CDialog::OnCancel();
}

void CImport3Dgn1DatasetDlg::OnCancel() 
{
	//取消
	CImport2VDatasetDlg *dlg=(CImport2VDatasetDlg *)GetParent();
	dlg->Close();
	CDialog::OnCancel();
}

void CImport3Dgn1DatasetDlg::OnOK() 
{
	//下一步
	if(m_cmbDgnUnit.GetCurSel() < 0)
	{
		AfxMessageBox("请选择Dgn Unit!");
		return;
	}
	this->CreateImport2Dgn2DatasetDlg();
	this->ShowWindow(SW_HIDE);
}

void CImport3Dgn1DatasetDlg::OnBtnColorFile() 
{
	//选择颜色表文件
	CString strFilter=_T("Dgn颜色表文件(*.tbl)|*.tbl|");
	GetFileName(strFilter,&m_editColorFile);
}

void CImport3Dgn1DatasetDlg::OnBtnStyleMap() 
{
	//选择对照表文件
	CString strFilter=_T("对照表文件(*.srt)|*.srt|");
	GetFileName(strFilter,&m_editStyleMap);	
}

void CImport3Dgn1DatasetDlg::GetFileName(CString strFilter,CEdit *edit)
{
	CFileDialog dlg(true,NULL,NULL,OFN_FILEMUSTEXIST|OFN_OVERWRITEPROMPT,
					strFilter,NULL);
	if(dlg.DoModal()==IDOK)
	{
		if(!dlg.GetFileTitle().IsEmpty())
			edit->SetWindowText(dlg.GetPathName());
	}	
}

void CImport3Dgn1DatasetDlg::Close()
{
	DestroyWindow();
}

void CImport3Dgn1DatasetDlg::CreateImport2Dgn2DatasetDlg()
{
	CImport3Dgn2DatasetDlg *m_pImport3Dgn2DatasetDlg=new CImport3Dgn2DatasetDlg;
	m_pImport3Dgn2DatasetDlg->Create(IDD_IMPORTDGN2DLG,this);
	m_pImport3Dgn2DatasetDlg->ShowWindow(SW_SHOW);
	m_pImport3Dgn2DatasetDlg->m_strDatasourceName=m_strDatasourceName;
	m_pImport3Dgn2DatasetDlg->m_iUnitIndex=m_cmbDgnUnit.GetCurSel();
	GetDlgItemText(IDC_EDITCOLORFILE,m_pImport3Dgn2DatasetDlg->m_strColorFileName);
	GetDlgItemText(IDC_EDITSTYLEMAP,m_pImport3Dgn2DatasetDlg->m_strStyleFileName);
	m_pImport3Dgn2DatasetDlg->m_bShowProgress=m_bShowProgress;
	m_pImport3Dgn2DatasetDlg->m_bCompressed=m_bCompressed;
	m_pImport3Dgn2DatasetDlg->m_bIgnoreStyle=m_bIgnoreStyle;
	m_pImport3Dgn2DatasetDlg->m_bCADDataset=m_bCADDataset;
	m_pImport3Dgn2DatasetDlg->m_bLineDataset=m_bLineDataset;
	m_pImport3Dgn2DatasetDlg->m_bPointDataset=m_bPointDataset;
	m_pImport3Dgn2DatasetDlg->m_bRegionDataset=m_bRegionDataset;
	m_pImport3Dgn2DatasetDlg->m_bTextDataset=m_bTextDataset;
	m_pImport3Dgn2DatasetDlg->m_strPathName=m_strPathName;
	m_pImport3Dgn2DatasetDlg->m_strCADLayerName=m_strCADLayerName;
	m_pImport3Dgn2DatasetDlg->m_strPointLayerName=m_strPointLayerName;
	m_pImport3Dgn2DatasetDlg->m_strLineLayerName=m_strLineLayerName;
	m_pImport3Dgn2DatasetDlg->m_strRegionLayerName=m_strRegionLayerName;
	m_pImport3Dgn2DatasetDlg->m_strTextLayerName=m_strTextLayerName;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?