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 + -
显示快捷键?