#include "stdafx.h" #include "DGSJDlg.h" #include "BimInfoDlg.h" IMPLEMENT_DYNAMIC(CDGSJDlg, CDialog) CDGSJDlg::CDGSJDlg(CWnd* pParent /*=NULL*/) : CDialog(CDGSJDlg::IDD, pParent) , m_fDorL(2.0f) , m_dW(2.0f) , m_dt(0.36f) , m_dH(10.0f) , m_dP(0.5f) , m_dT(0.5f) , m_dF(0.0f) , m_nSharpe(FALSE) , m_sNodeSpec(_T("检修井")) { } CDGSJDlg::~CDGSJDlg() { } void CDGSJDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Text(pDX, IDC_EDIT1, m_fDorL); DDX_Text(pDX, IDC_EDIT3, m_dW); DDX_Text(pDX, IDC_EDIT4, m_dt); DDX_Text(pDX, IDC_EDIT5, m_dH); DDX_Text(pDX, IDC_EDIT6, m_dP); DDX_Text(pDX, IDC_EDIT7, m_dT); DDX_Text(pDX, IDC_EDIT8, m_dF); DDX_Radio(pDX, IDC_RADIO1, m_nSharpe); DDX_Control(pDX, IDC_STATIC_DL, m_wndDL); DDX_Text(pDX, IDC_EDIT2, m_sNodeSpec); } BEGIN_MESSAGE_MAP(CDGSJDlg, CDialog) ON_BN_CLICKED(IDOK, &CDGSJDlg::OnBnClickedOk) ON_BN_CLICKED(IDC_RADIO2, &CDGSJDlg::OnBnClickedRadio2) ON_BN_CLICKED(IDC_RADIO1, &CDGSJDlg::OnBnClickedRadio1) ON_BN_CLICKED(IDC_BUTTON1, &CDGSJDlg::OnBnClickedButton1) END_MESSAGE_MAP() BOOL CDGSJDlg::OnInitDialog() { CDialog::OnInitDialog(); UpdateData(FALSE); return TRUE; } void CDGSJDlg::OnBnClickedOk() { UpdateData(); if ( m_fDorL < 1.e-3f || m_dW < 1.e-3f || m_dt < 1.e-3f || m_dH < 1.e-3f || m_dP < 1.e-3f || m_dT < 1.e-3f) { AfxMessageBox(_T("竖井的尺寸不正确,请检查竖井的尺寸!")); return; } OnOK(); } void CDGSJDlg::GetFncNode(EWFnctNode* pFnNode) { if (pFnNode != NULL) { pFnNode->eFnType = kVerticalWell; pFnNode->nFlag = m_nSharpe; if (m_nSharpe == 0) { pFnNode->fNodeDef[0] = m_fDorL;//外径 pFnNode->fNodeDef[1] = m_dt;//壁厚 pFnNode->fNodeDef[2] = m_dH;//总高度 pFnNode->fNodeDef[3] = m_dP;//廊底下深深度,不含底厚度 pFnNode->fNodeDef[4] = m_dT;//底厚度 pFnNode->fNodeDef[5] = m_dF;//偏移位置 } else { pFnNode->fNodeDef[0] = m_fDorL;//外长 pFnNode->fNodeDef[1] = m_dW;//外宽 pFnNode->fNodeDef[2] = m_dt;//壁厚 pFnNode->fNodeDef[3] = m_dH;//总高度 pFnNode->fNodeDef[4] = m_dP;//廊底下深深度,不含底厚度 pFnNode->fNodeDef[5] = m_dT;//底厚度 pFnNode->fNodeDef[6] = m_dF;//偏移位置 } _tcscpy(pFnNode->szNodeSpec,m_sNodeSpec); } } void CDGSJDlg::OnBnClickedRadio1() { UpdateData(); if (m_nSharpe == 0) { m_wndDL.SetWindowText(_T("外径 D:")); } else { m_wndDL.SetWindowText(_T("外长 L:")); } } void CDGSJDlg::OnBnClickedRadio2() { if (m_nSharpe == 0) { m_wndDL.SetWindowText(_T("外径 D:")); } else { m_wndDL.SetWindowText(_T("外长 L:")); } } void CDGSJDlg::OnBnClickedButton1() { CBimInfoDlg::ShowBimInfo(&m_mapBimData,_T("房子")); }