Files
envi-code/SourceCode/Code2026/tg_shs/shs_outdoor/DrawPipeCanalDlg.cpp
T
gjm 164968b62e chore
把非utf8-bom编码的cpp/h文件改为 utf8 bom 编码, msvc识别utf8编码时,如果不是bom格式的,会使用当前cp_oem来解码.
2026-10-04 00:04:20 +08:00

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"));
}