#include "stdafx.h" #include "ParshallFlumeDlg.h" #include "CoreTools.h" #include "PipelineTools.h" #include "aecdbrivergroove.h" IMPLEMENT_DYNAMIC(CParshallFlumeDlg, CDialog) CParshallFlumeDlg::CParshallFlumeDlg(CWnd* pParent /*=nullptr*/) : CDialog(IDD_DLG_PARSHALL, pParent) , m_iCheckHold(0) , m_dD(0) , m_dN(0) , m_dK(0) , m_dX(0) , m_dL(0) , m_dj(0) , m_dB1(0) , m_dB2(0) , m_db(0) , m_dT(0) , m_dL1(0) , m_dL2(0) , m_dD1(0) , m_dD2(0) , m_dh(0) , m_dLa(0) { GET_CACHE(CParshallFlumeDlg, %d%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f , &m_iCheckHold , &m_dD , &m_dN , &m_dK , &m_dX , &m_dL , &m_dj , &m_dB1 , &m_dB2 , &m_db , &m_dT , &m_dL1 , &m_dL2 , &m_dD1 , &m_dD2 , &m_dh , &m_dLa ); } CParshallFlumeDlg::~CParshallFlumeDlg() { } void CParshallFlumeDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Check(pDX, IDC_CHECK1, m_iCheckHold); DDX_Text(pDX, IDC_EDIT1, m_dD); DDV_MinMaxDouble(pDX, m_dD, 0.001, 99999999); DDX_Text(pDX, IDC_EDIT2, m_dN); DDV_MinMaxDouble(pDX, m_dN, 0.001, 99999999); DDX_Text(pDX, IDC_EDIT3, m_dK); DDV_MinMaxDouble(pDX, m_dK, 0.001, 99999999); DDX_Text(pDX, IDC_EDIT4, m_dX); DDV_MinMaxDouble(pDX, m_dX, 0.001, 99999999); DDX_Text(pDX, IDC_EDIT9, m_dL); DDV_MinMaxDouble(pDX, m_dL, 0.001, 99999999); DDX_Text(pDX, IDC_EDIT10, m_dj); DDV_MinMaxDouble(pDX, m_dj, 0.001, 99999999); DDX_Text(pDX, IDC_EDIT7, m_dB1); DDV_MinMaxDouble(pDX, m_dB1, 0.001, 99999999); DDX_Text(pDX, IDC_EDIT11, m_dB2); DDV_MinMaxDouble(pDX, m_dB2, 0.001, 99999999); DDX_Text(pDX, IDC_EDIT12, m_db); DDV_MinMaxDouble(pDX, m_db, 0.001, 99999999); DDX_Text(pDX, IDC_EDIT8, m_dT); DDV_MinMaxDouble(pDX, m_dT, 0.001, 99999999); DDX_Text(pDX, IDC_EDIT5, m_dL1); DDV_MinMaxDouble(pDX, m_dL1, 0.001, 99999999); DDX_Text(pDX, IDC_EDIT6, m_dL2); DDV_MinMaxDouble(pDX, m_dL2, 0.001, 99999999); DDX_Text(pDX, IDC_EDIT13, m_dD1); DDX_Text(pDX, IDC_EDIT14, m_dD2); DDX_Text(pDX, IDC_EDIT15, m_dh); DDX_Text(pDX, IDC_EDIT16, m_dLa); } BOOL CParshallFlumeDlg::OnInitDialog() { CDialog::OnInitDialog(); UpdateData(FALSE); eanbleWindow(); CenterWindow(); CoreTools::showPictureDlg(FilePath::GetSysDir() + _T("\\Parshall-flume.bmp"), this); return TRUE; } BEGIN_MESSAGE_MAP(CParshallFlumeDlg, CDialog) ON_BN_CLICKED(IDOK, &CParshallFlumeDlg::OnBnClickedOk) ON_BN_CLICKED(IDC_CHECK1, &CParshallFlumeDlg::OnBnClickedCheck1) ON_WM_PAINT() ON_BN_CLICKED(IDOK2, &CParshallFlumeDlg::OnBnClickedOk2) END_MESSAGE_MAP() void CParshallFlumeDlg::OnBnClickedOk() { UpdateData(TRUE); SET_CACHE(CParshallFlumeDlg , %d%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f , m_iCheckHold , m_dD , m_dN , m_dK , m_dX , m_dL , m_dj , m_dB1 , m_dB2 , m_db , m_dT , m_dL1 , m_dL2 , m_dD1 , m_dD2 , m_dh , m_dLa ); CDialog::OnOK(); } void CParshallFlumeDlg::start() { CAcModuleResourceOverride myResources; CParshallFlumeDlg dlg; if (dlg.DoModal() != IDOK) return; double dEl(1.); ads_point adspt1, adspt2; if (acedGetPoint(NULL, _T("\n选择起点:"), adspt1) != RTNORM) return; if (acedGetPoint(adspt1, _T("\n选择终点:"), adspt2) != RTNORM) return; if (acedGetReal(_T("\n输入标高(米)<1>:"), &dEl) == RTCAN) return; AcGePoint3d ptS(asPnt3d(adspt1)), ptE(asPnt3d(adspt2)); ptS.z = ptE.z = dEl * 1000; CoreTools::UCS2WCS(ptS, ptS); CoreTools::UCS2WCS(ptE, ptE); AecDbRiverGroove *pGroove = new AecDbRiverGroove; pGroove->SetD(dlg.m_dD); pGroove->SetN(dlg.m_dN); pGroove->SetK(dlg.m_dK); pGroove->SetL1(dlg.m_dL1); pGroove->SetL(dlg.m_dL); pGroove->SetL2(dlg.m_dL2); pGroove->SetT(dlg.m_dT); pGroove->Setj(dlg.m_dj); pGroove->Setb(dlg.m_db); pGroove->SetB1(dlg.m_dB1); pGroove->SetB2(dlg.m_dB2); pGroove->SetX(dlg.m_dX); if (dlg.m_iCheckHold) { pGroove->SetLa(dlg.m_dLa); pGroove->Seth(dlg.m_dh); pGroove->SetD1(dlg.m_dD1); pGroove->SetD2(dlg.m_dD2); } else { pGroove->SetLa(.0); pGroove->Seth(.0); pGroove->SetD1(.0); pGroove->SetD2(.0); } pGroove->SetBaseCurve(ptS, ptE); pGroove->SetSection1(dlg.m_dD, dlg.m_dB1, 1); CoreTools::AddToModelSpace(pGroove); } void CParshallFlumeDlg::OnBnClickedCheck1() { m_iCheckHold = !m_iCheckHold; eanbleWindow(); } void CParshallFlumeDlg::eanbleWindow() { CWnd *pWnd = GetDlgItem(IDC_EDIT13); if (pWnd) pWnd->EnableWindow(m_iCheckHold); pWnd = GetDlgItem(IDC_EDIT14); if (pWnd) pWnd->EnableWindow(m_iCheckHold); pWnd = GetDlgItem(IDC_EDIT15); if (pWnd) pWnd->EnableWindow(m_iCheckHold); pWnd = GetDlgItem(IDC_EDIT16); if (pWnd) pWnd->EnableWindow(m_iCheckHold); } void CParshallFlumeDlg::OnPaint() { CPaintDC dc(this); } void CParshallFlumeDlg::OnBnClickedOk2() { CoreTools::showPictureDlg(FilePath::GetSysDir() + _T("\\Parshall-flume.bmp"), this); } BOOL CParshallFlumeDlg::DestroyWindow() { CoreTools::hidePictureDlg(); return CDialog::DestroyWindow(); }