#include "stdafx.h" #include "DGKDDlg.h" #include "EarThwormDef.h" IMPLEMENT_DYNAMIC(CDGKDDlg, CDialog) CDGKDDlg::CDGKDDlg(CWnd *pParent /*=NULL*/) : CDialog(CDGKDDlg::IDD, pParent) , m_dSizeAdd(5.0) , m_dT(6.0) , m_dTL(100) , m_bHasCase(TRUE) , m_bHasNozz(FALSE) , m_bExt(FALSE) , m_dExt1(0) , m_dExt2(0) , m_sPipeType(_T("A型刚性防水套管")) , m_sNo(_T("H-001")) , m_sForUse(_T("")) { GET_CACHE(CDGKDDlg, %s%s%s%d%d%d%f%f%f%f%f , &m_sPipeType , &m_sNo , &m_sForUse , &m_bHasCase , &m_bHasNozz , &m_bExt , &m_dT , &m_dTL , &m_dSizeAdd , &m_dExt1 , &m_dExt2 ); } CDGKDDlg::~CDGKDDlg() { } void CDGKDDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Text(pDX, IDC_EDIT1, m_dSizeAdd); DDX_Check(pDX,IDC_CHECK1,m_bHasNozz); DDX_Check(pDX, IDC_CHECK6, m_bHasCase); DDX_Text(pDX, IDC_EDIT5, m_dT); DDX_Text(pDX, IDC_EDIT9, m_dTL); DDX_Check(pDX, IDC_CHECK7, m_bExt); DDX_Text(pDX, IDC_EDIT10, m_dExt1); DDX_Text(pDX, IDC_EDIT11, m_dExt2); DDX_Control(pDX, IDC_EDIT10, m_wndExtEx1); DDX_Control(pDX, IDC_EDIT11, m_wndEditExt2); DDX_Control(pDX, IDC_COMBO1, m_wndComboMaters); DDX_CBString(pDX, IDC_COMBO3, m_sPipeType); DDX_Text(pDX, IDC_EDIT6, m_sForUse); DDX_Control(pDX, IDC_COMBO3, m_wndPipeComboType); } BEGIN_MESSAGE_MAP(CDGKDDlg, CDialog) ON_BN_CLICKED(IDOK, &CDGKDDlg::OnBnClickedOk) ON_BN_CLICKED(IDC_CHECK7, &CDGKDDlg::OnBnClickedCheck7) END_MESSAGE_MAP() void CDGKDDlg::GetData(BatHoleCasing& data) { data.m_dSizeAdd = m_dSizeAdd; data.m_bHasCase = m_bHasCase; data.m_bHasNozz = m_bHasNozz; data.m_dT = m_dT; data.m_dTL = m_dTL; data.m_bExt = m_bExt; if (m_bExt) { data.m_dExt1 = m_dExt1; data.m_dExt2 = m_dExt2; } else { data.m_dExt1 = 0.; data.m_dExt2 = 0.; } _tcscpy(data.m_sPipeType,m_sPipeType); _tcscpy(data.m_sForUse, m_sForUse); } BOOL CDGKDDlg::OnInitDialog() { CDialog::OnInitDialog(); UpdateData(FALSE); CString path = FilePath::GetSysDir() + Plumbing_DB; if (!m_dbSQLite.InitADOServer(path)) { AfxMessageBox(CString(_T("数据库初始化失败,请检查 sys")) + Plumbing_DB + _T("文件是否存在.")); return FALSE; } InitMaterial(); int nSel = m_wndPipeComboType.FindString(0,m_sPipeType); if (nSel == -1) { nSel = 0; } m_wndPipeComboType.SetCurSel(nSel); m_wndExtEx1.EnableWindow(m_bExt); m_wndEditExt2.EnableWindow(m_bExt); return TRUE; } void CDGKDDlg::InitMaterial() { //材质 CStringArray arVals; CString sSQL = _T("select [材质] from AecMaterial where [类型]='管道'"); m_dbSQLite.GetSelData(sSQL,arVals); int nSel = 0; m_wndComboMaters.ResetContent(); for (int i = 0;i < arVals.GetSize();i++) { m_wndComboMaters.InsertString(i,arVals.GetAt(i)); if (m_sMertial.CompareNoCase(arVals.GetAt(i)) == 0) { nSel = i; } } m_wndComboMaters.SetCurSel(nSel); } void CDGKDDlg::OnBnClickedOk() { UpdateData(); if (m_bHasCase) { // 不检查套管长度了, 长度会自适应墙板的厚度 //if (m_dTL < 1.e-2) //{ // AfxMessageBox(_T("请检查套管的长度是否合理!")); // return; //} } SET_CACHE(CDGKDDlg, %s%s%s%d%d%d%f%f%f%f%f , m_sPipeType , m_sNo , m_sForUse , m_bHasCase , m_bHasNozz , m_bExt , m_dT , m_dTL , m_dSizeAdd , m_dExt1 , m_dExt2 ); OnOK(); } void CDGKDDlg::OnBnClickedCheck7() { UpdateData(); m_wndExtEx1.EnableWindow(m_bExt); m_wndEditExt2.EnableWindow(m_bExt); }