#include "stdafx.h" #include "DPLTDlg.h" #include "AecDbZLineStair.h" IMPLEMENT_DYNAMIC(CDPLTDlg, CDialog) CDPLTDlg::CDPLTDlg(CWnd* pParent /*=NULL*/) : CDialog(CDPLTDlg::IDD, pParent) , m_nZs(1) , m_dSteepW(270) , m_dSteepH(150) , m_nSteeps1(11) , m_nSteeps2(11) , m_dStairTW(2560) , m_dStairSW(1230) , m_dWell(100) , m_nUpSide(FALSE) , m_dRestPtW(1200) , m_dSbThick(80) , m_dStiffnW(200) , m_dStiffnH(180) , m_dBarH(923) , m_dGarSize0(40) , m_dGarSize1(60) , m_dBarSp(300) , m_dBarSize0(30) , m_dBarSize1(30) , m_nGShape(FALSE) , m_nBShape(FALSE) , m_dGarExt(60) , m_dZGarExt(60) , m_sGarMat(_T("不锈钢")) , m_sBarMat(_T("不锈钢")) , m_dBomEl(0) { GET_CACHE(CDPLTDlg , %d%f%f%d%d%f%f%f%d%f%f%f%f%f%f%f%f%f%f%d%d%f%f%s%s%f , &m_nZs , &m_dSteepW , &m_dSteepH , &m_nSteeps1 , &m_nSteeps2 , &m_dStairTW , &m_dStairSW , &m_dWell , &m_nUpSide , &m_dRestPtW , &m_dSbThick , &m_dStiffnW , &m_dStiffnH , &m_dBarH , &m_dBarSize0 , &m_dBarSize1 , &m_dBarSp , &m_dGarSize0 , &m_dGarSize1 , &m_nGShape , &m_nBShape , &m_dGarExt , &m_dZGarExt , &m_sGarMat , &m_sBarMat , &m_dBomEl ); } CDPLTDlg::~CDPLTDlg() { } void CDPLTDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Text(pDX, IDC_EDIT1, m_nZs); DDX_Text(pDX, IDC_EDIT2, m_dSteepW); DDX_Text(pDX, IDC_EDIT3, m_dSteepH); DDX_Text(pDX, IDC_EDIT12, m_nSteeps1); DDX_Text(pDX, IDC_EDIT13, m_nSteeps2); DDX_Text(pDX, IDC_EDIT4, m_dStairTW); DDX_Text(pDX, IDC_EDIT5, m_dStairSW); DDX_Text(pDX, IDC_EDIT15, m_dWell); DDX_Radio(pDX, IDC_RADIO1, m_nUpSide); DDX_Text(pDX, IDC_EDIT14, m_dRestPtW); DDX_Text(pDX, IDC_EDIT33, m_dSbThick); DDX_Text(pDX, IDC_EDIT31, m_dStiffnW); DDX_Text(pDX, IDC_EDIT32, m_dStiffnH); DDX_Text(pDX, IDC_EDIT16, m_dBarH); DDX_Text(pDX, IDC_EDIT30, m_dBarSize0); DDX_Text(pDX, IDC_EDIT28, m_dBarSize1); DDX_Text(pDX, IDC_EDIT17, m_dBarSp); DDX_Text(pDX, IDC_EDIT21, m_dGarSize0); DDX_Text(pDX, IDC_EDIT26, m_dGarSize1); DDX_Check(pDX, IDC_CHECK1, m_nGShape); DDX_Check(pDX, IDC_CHECK2, m_nBShape); DDX_Text(pDX, IDC_EDIT19, m_dGarExt); DDX_Text(pDX, IDC_EDIT39, m_dZGarExt); DDX_CBString(pDX, IDC_COMBO6, m_sGarMat); DDX_CBString(pDX, IDC_COMBO4, m_sBarMat); DDX_Text(pDX, IDC_EDIT40, m_dBomEl); } BEGIN_MESSAGE_MAP(CDPLTDlg, CDialog) ON_BN_CLICKED(IDOK, &CDPLTDlg::OnBnClickedOk) ON_EN_CHANGE(IDC_EDIT5, &CDPLTDlg::OnEnChangeEdit5) ON_EN_CHANGE(IDC_EDIT15, &CDPLTDlg::OnEnChangeEdit15) END_MESSAGE_MAP() BOOL CDPLTDlg::OnInitDialog() { CDialog::OnInitDialog(); UpdateData(FALSE); return TRUE; } void CDPLTDlg::SetZLineStair(ZLineStair& data) { m_nZs = data.nZs; m_dSteepW = data.dSteepW; m_dSteepH = data.dSteepH; m_nSteeps1 = data.nSteeps1; m_nSteeps2 = data.nSteeps2; m_dStairTW = data.dStairTW; m_dStairSW = data.dStairSW; m_dWell = data.dWellW; m_nUpSide = data.nUpSide; m_dRestPtW = data.dRestPtW; m_dSbThick = data.dSbThick; m_dStiffnW = data.dStiffnW; m_dStiffnH = data.dStiffnH; m_dBarH = data.dBarH; m_dGarSize0 = data.dGarSize[0]; m_dGarSize1 = data.dGarSize[1]; m_dBarSp = data.dBarSp; m_dBarSize0 = data.dBarSize[0]; m_dBarSize1 = data.dBarSize[1]; m_nGShape = data.nGShape; m_nBShape = data.nBShape; m_dGarExt = data.dGarExt; m_dZGarExt = data.dZGarExt; m_sGarMat = data.szGarMat; m_sBarMat = data.szBarMat; m_dBomEl = data.dBomEl; } bool CDPLTDlg::GetZLineStair(ZLineStair& data) const { data.nZs = m_nZs; data.dSteepW = m_dSteepW; data.dSteepH = m_dSteepH; data.nSteeps1 = m_nSteeps1; data.nSteeps2 = m_nSteeps2; data.dStairTW = m_dStairTW; data.dStairSW = m_dStairSW; data.dWellW = m_dWell; data.nUpSide = m_nUpSide; data.dRestPtW = m_dRestPtW; data.dSbThick = m_dSbThick; data.dStiffnW = m_dStiffnW; data.dStiffnH = m_dStiffnH; data.dBarH = m_dBarH; data.dGarSize[0] = m_dGarSize0; data.dGarSize[1] = m_dGarSize1; data.dBarSp = m_dBarSp; data.dBarSize[0] = m_dBarSize0; data.dBarSize[1] = m_dBarSize1; data.nGShape = m_nGShape; data.nBShape = m_nBShape; data.dGarExt = m_dGarExt; data.dZGarExt = m_dZGarExt; data.dBomEl = m_dBomEl; _tcscpy(data.szGarMat,m_sGarMat); _tcscpy(data.szBarMat,m_sBarMat); return true; } void CDPLTDlg::SetFromId(AcDbObjectId& id) { AcDbEntity* pEnt = NULL; if (Acad::eOk == acdbOpenAcDbEntity(pEnt,id,AcDb::kForRead)) { AecDbZLineStair* pZStair = AecDbZLineStair::cast(pEnt); if (pZStair != NULL) { ZLineStair data; memset(&data,0,sizeof(ZLineStair)); pZStair->GetZLineStairData(data); SetZLineStair(data); } pEnt->close(); } } void CDPLTDlg::OnBnClickedOk() { if (!UpdateData(TRUE)) return; SET_CACHE(CDPLTDlg , %d%f%f%d%d%f%f%f%d%f%f%f%f%f%f%f%f%f%f%d%d%f%f%s%s%f , m_nZs , m_dSteepW , m_dSteepH , m_nSteeps1 , m_nSteeps2 , m_dStairTW , m_dStairSW , m_dWell , m_nUpSide , m_dRestPtW , m_dSbThick , m_dStiffnW , m_dStiffnH , m_dBarH , m_dBarSize0 , m_dBarSize1 , m_dBarSp , m_dGarSize0 , m_dGarSize1 , m_nGShape , m_nBShape , m_dGarExt , m_dZGarExt , m_sGarMat , m_sBarMat , m_dBomEl ); //数据合理性检查 OnOK(); } void CDPLTDlg::OnEnChangeEdit5() { UpdateData(); m_dStairTW = m_dStairSW * 2 + m_dWell; UpdateData(FALSE); } void CDPLTDlg::OnEnChangeEdit15() { UpdateData(); m_dStairTW = m_dStairSW * 2 + m_dWell; UpdateData(FALSE); }