177 lines
3.4 KiB
C++
177 lines
3.4 KiB
C++
// 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"));
|
|
}
|