// DrawPipeCanalDlg.cpp : implementation file // #include "stdafx.h" #include "shs_outdoor.h" #include "DrawPipeCanalDlg.h" #include "DbPsConfig.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif double CDrawPipeCanalDlg::m_dCanalWidth = 500; int CDrawPipeCanalDlg::m_nCanalType = 0; CDrawPipeCanalDlg::CDrawPipeCanalDlg(CWnd* pParent /*=NULL*/) : CModelessDialog(CDrawPipeCanalDlg::IDD, pParent) { m_bShowMLine = IsShowPipeCanalMidLine(); m_bShow = false; } void CDrawPipeCanalDlg::DoDataExchange(CDataExchange* pDX) { CModelessDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CDrawPipeCanalDlg) DDX_Check(pDX, IDC_CHECK1, m_bShowMLine); DDX_Text(pDX, IDC_EDIT1, m_dCanalWidth); DDX_Radio(pDX, IDC_RADIO1, m_nCanalType); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CDrawPipeCanalDlg, CModelessDialog) //{{AFX_MSG_MAP(CDrawPipeCanalDlg) ON_BN_CLICKED(IDC_BUTTON1, OnBtnShowPic) ON_BN_CLICKED(IDC_RADIO1, OnRadio1) ON_BN_CLICKED(IDC_RADIO2, OnRadio2) ON_BN_CLICKED(IDC_RADIO3, OnRadio3) ON_BN_CLICKED(IDC_RADIO4, OnRadio4) ON_BN_CLICKED(IDC_RADIO5, OnRadio5) ON_BN_CLICKED(IDC_CHECK1, OnChangeType) ON_WM_PAINT() ON_WM_CLOSE() //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CDrawPipeCanalDlg message handlers void CDrawPipeCanalDlg::OnBtnShowPic() { m_bShow = !m_bShow; CWnd *pWnd = GetDlgItem(IDC_BUTTON1); CWnd *pWndPic = GetDlgItem(IDC_STATIC_PRV); CRect rect, rectPic; this->GetWindowRect(&rect); pWndPic->GetWindowRect(&rectPic); double dWidth = rectPic.Width(); if(!m_bShow) { pWnd->SetWindowText(_T("<<")); rect.right += (dWidth + 10); this->MoveWindow(&rect); OpenSlide(); } else { pWnd->SetWindowText(_T(">>")); rect.right -= (dWidth + 10); this->MoveWindow(&rect); } } void CDrawPipeCanalDlg::OpenSlide() { CWnd *Pwnd = GetDlgItem(IDC_STATIC_PRV); if (m_nCanalType == 0) { DrawSlide(_T("TWT(PIPECANAL1)"), Pwnd); } else if (m_nCanalType == 1) { DrawSlide(_T("TWT(PIPECANAL2)"), Pwnd); } else if (m_nCanalType == 2) { DrawSlide(_T("TWT(PIPECANAL3)"), Pwnd); } else if (m_nCanalType == 3) { DrawSlide(_T("TWT(PIPECANAL4)"), Pwnd); } else if (m_nCanalType == 4) { DrawSlide(_T("TWT(PIPECANAL5)"), Pwnd); } } void CDrawPipeCanalDlg::OnRadio1() { m_nCanalType = 0; OpenSlide(); } void CDrawPipeCanalDlg::OnRadio2() { m_nCanalType = 1; OpenSlide(); } void CDrawPipeCanalDlg::OnRadio3() { m_nCanalType = 2; OpenSlide(); } void CDrawPipeCanalDlg::OnRadio4() { m_nCanalType = 3; OpenSlide(); } void CDrawPipeCanalDlg::OnRadio5() { m_nCanalType = 4; OpenSlide(); } void CDrawPipeCanalDlg::OnChangeType() { AcApDocument* pDoc = acDocManager->curDocument(); acDocManager->lockDocument(pDoc, AcAp::kWrite); UpdateData(TRUE); ShowPipeCanalMinLine(m_bShowMLine); actrTransactionManager->flushGraphics(); PickSet ssObj(SS_FREE); if(GetEntByDxf(ssObj, _T("ATS_PIPECANAL"), 1)==Acad::eOk) { UpdateGraphic(ssObj); } acDocManager->unlockDocument(pDoc); } void CDrawPipeCanalDlg::OnPaint() { CPaintDC dc(this); OpenSlide(); } BOOL CDrawPipeCanalDlg::OnInitDialog() { CModelessDialog::OnInitDialog(); OnBtnShowPic(); ShowPipeCanalMinLine(m_bShowMLine); OpenSlide(); UpdateData(FALSE); return TRUE; } void CDrawPipeCanalDlg::OnClose() { CModelessDialog::OnClose(); acedPostCommand(_T("\33\33")); }