209 lines
4.8 KiB
C++
209 lines
4.8 KiB
C++
#include "StdAfx.h"
|
|
#include "resource.h"
|
|
#include "KTPIDPipeParamDlg.h"
|
|
|
|
#ifdef _DEBUG
|
|
#define new DEBUG_NEW
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[] = __FILE__;
|
|
#endif
|
|
|
|
#ifndef WM_SHOWPARAMTEXT
|
|
#define WM_SHOWPARAMTEXT (WM_USER + 0x1001)
|
|
#endif
|
|
|
|
KTPIDPipeParamDlg::KTPIDPipeParamDlg(CWnd* pParent /*=NULL*/)
|
|
: CDialog(KTPIDPipeParamDlg::IDD, pParent)
|
|
{
|
|
//{{AFX_DATA_INIT(KTPIDPipeParamDlg)
|
|
m_sNo = _T("");
|
|
m_sZone = _T("");
|
|
m_sSpec = _T("");
|
|
m_dHThick = 10.0;
|
|
m_dSpace = 100.0;
|
|
m_bHeat = FALSE;
|
|
m_bCover = FALSE;
|
|
//}}AFX_DATA_INIT
|
|
m_pPipeParam = NULL;
|
|
}
|
|
|
|
void KTPIDPipeParamDlg::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
//{{AFX_DATA_MAP(KTPIDPipeParamDlg)
|
|
DDX_Control(pDX, IDC_EDITSPACE, m_wndEditCSpace);
|
|
DDX_Control(pDX, IDC_EDITHTHICK, m_wndEditHThick);
|
|
DDX_Control(pDX, IDC_TABSETTING, m_wndTabCtrl);
|
|
DDX_Text(pDX, IDC_EDITSERNO, m_sNo);
|
|
DDX_Text(pDX, IDC_EDITZONE, m_sZone);
|
|
DDX_Text(pDX, IDC_STATICSPEC, m_sSpec);
|
|
DDX_Text(pDX, IDC_EDITHTHICK, m_dHThick);
|
|
DDX_Text(pDX, IDC_EDITSPACE, m_dSpace);
|
|
DDX_Check(pDX, IDC_CHECKHEAT, m_bHeat);
|
|
DDX_Check(pDX, IDC_CHECKCOVER, m_bCover);
|
|
//}}AFX_DATA_MAP
|
|
}
|
|
|
|
BEGIN_MESSAGE_MAP(KTPIDPipeParamDlg, CDialog)
|
|
//{{AFX_MSG_MAP(KTPIDPipeParamDlg)
|
|
ON_EN_CHANGE(IDC_EDITSERNO, OnChangeEditserno)
|
|
ON_EN_CHANGE(IDC_EDITZONE, OnChangeEditzone)
|
|
ON_MESSAGE(WM_SHOWPARAMTEXT,ShowParamToText)
|
|
ON_WM_CTLCOLOR()
|
|
ON_BN_CLICKED(IDC_STATIC_COLOR, OnStaticColor)
|
|
ON_BN_CLICKED(IDC_CHECKCOVER, OnCheckcover)
|
|
ON_BN_CLICKED(IDC_CHECKHEAT, OnCheckheat)
|
|
ON_BN_CLICKED(IDC_BUTTON1, OnAddPipeLine)
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
|
|
void KTPIDPipeParamDlg::SetPIDParam(PID::PIDPipeParam* pPipeParam)
|
|
{
|
|
m_pPipeParam = pPipeParam;
|
|
m_wndPIDPipePage.SetPIDParam(pPipeParam);
|
|
}
|
|
|
|
BOOL KTPIDPipeParamDlg::OnInitDialog()
|
|
{
|
|
CDialog::OnInitDialog();
|
|
|
|
m_wndTabCtrl.InsertItem(0,_T("²ÎÊý"));
|
|
m_wndPIDPipePage.Create(IDD_PIDPIPEPAGEDLG,&m_wndTabCtrl);
|
|
m_wndPIDPipePage.SetOwner(&m_wndTabCtrl);
|
|
|
|
CWnd* pFrame = GetDlgItem(IDC_STATIC_FRAME);
|
|
if (pFrame != NULL)
|
|
{
|
|
CRect rcFrame;
|
|
pFrame->GetWindowRect(&rcFrame);
|
|
m_wndTabCtrl.ScreenToClient(&rcFrame);
|
|
m_wndPIDPipePage.MoveWindow(&rcFrame);
|
|
pFrame->ShowWindow(SW_HIDE);
|
|
}
|
|
m_wndPIDPipePage.ShowWindow(SW_SHOW);
|
|
|
|
if (m_pPipeParam != NULL)
|
|
{
|
|
m_sNo = m_pPipeParam->m_pszNo;
|
|
m_sZone = m_pPipeParam->m_pszZone;
|
|
m_dSpace = m_pPipeParam->m_dCoverSpace;
|
|
m_dHThick = m_pPipeParam->m_dHeatThick;
|
|
if (m_pPipeParam->m_nTraType == 1 || m_pPipeParam->m_nTraType == 3) m_bHeat = TRUE;
|
|
if (m_pPipeParam->m_nTraType > 1) m_bCover = TRUE;
|
|
}
|
|
m_wndEditCSpace.EnableWindow(m_bCover);
|
|
m_wndEditHThick.EnableWindow(m_bHeat);
|
|
UpdateData(FALSE);
|
|
ShowParamToText(0,0);
|
|
return TRUE;
|
|
}
|
|
|
|
void KTPIDPipeParamDlg::OnOK()
|
|
{
|
|
if (!m_wndPIDPipePage.UpdateDataEx())
|
|
{
|
|
AfxMessageBox(_T("²ÎÊýûÓÐÕýÈ·ÅäÖÃ!"));
|
|
return;
|
|
}
|
|
|
|
UpdateData(TRUE);
|
|
|
|
_tcscpy(m_pPipeParam->m_pszNo,m_sNo);
|
|
_tcscpy(m_pPipeParam->m_pszZone,m_sZone);
|
|
m_pPipeParam->m_dCoverSpace = m_dSpace;
|
|
m_pPipeParam->m_dHeatThick = m_dHThick;
|
|
m_pPipeParam->m_nTraType = 0;
|
|
|
|
int nHeat = 0,nCover = 0;
|
|
if (m_bHeat) nHeat = 1;
|
|
if (m_bCover) nCover = 2;
|
|
m_pPipeParam->m_nTraType = nHeat + nCover;
|
|
|
|
CString sLineNo;
|
|
sLineNo.Format(_T("%s-%s"),m_pPipeParam->m_pszMedia,m_pPipeParam->m_pszNo);
|
|
|
|
_tcscpy(m_pPipeParam->m_pszLineNo,sLineNo);
|
|
|
|
CDialog::OnOK();
|
|
}
|
|
|
|
void KTPIDPipeParamDlg::OnChangeEditserno()
|
|
{
|
|
UpdateData();
|
|
ShowParamToText(0,0);
|
|
}
|
|
|
|
void KTPIDPipeParamDlg::OnChangeEditzone()
|
|
{
|
|
UpdateData();
|
|
ShowParamToText(0,0);
|
|
}
|
|
|
|
LRESULT KTPIDPipeParamDlg::ShowParamToText(WPARAM wparam,LPARAM lparam)
|
|
{
|
|
UpdateData(TRUE);
|
|
|
|
CString sText,sDN;
|
|
sText.Format(_T("%d"),(int)m_pPipeParam->m_dDN);
|
|
sDN = sText;
|
|
|
|
//Spec
|
|
m_sSpec = m_sZone + _T("-") + sDN + _T("-") + m_sNo;
|
|
|
|
UpdateData(FALSE);
|
|
return 0;
|
|
}
|
|
|
|
HBRUSH KTPIDPipeParamDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
|
|
{
|
|
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
|
|
if (nCtlColor == CTLCOLOR_STATIC)
|
|
{
|
|
if (pWnd != NULL && pWnd->GetDlgCtrlID() == IDC_STATIC_COLOR)
|
|
{
|
|
if (m_pPipeParam != NULL)
|
|
{
|
|
COLORREF crColor = RGB(255,255,255);
|
|
|
|
if (m_pPipeParam->m_nPipeColor == PID::kColorByLayer)
|
|
{
|
|
crColor = RGB(255,255,255);
|
|
}
|
|
else
|
|
{
|
|
crColor = acedGetRGB(m_pPipeParam->m_nPipeColor);
|
|
}
|
|
|
|
CRect rc;
|
|
pWnd->GetClientRect(rc);
|
|
pDC->FillSolidRect(rc,crColor);
|
|
}
|
|
}
|
|
}
|
|
return hbr;
|
|
}
|
|
|
|
void KTPIDPipeParamDlg::OnStaticColor()
|
|
{
|
|
acedSetColorDialog(m_pPipeParam->m_nPipeColor,Adesk::kFalse,m_pPipeParam->m_nPipeColor);
|
|
if (m_pPipeParam->m_nPipeColor == 0)
|
|
m_pPipeParam->m_nPipeColor = PID::kColorByLayer;
|
|
Invalidate();
|
|
}
|
|
|
|
void KTPIDPipeParamDlg::OnCheckcover()
|
|
{
|
|
UpdateData();
|
|
m_wndEditCSpace.EnableWindow(m_bCover);
|
|
}
|
|
|
|
void KTPIDPipeParamDlg::OnCheckheat()
|
|
{
|
|
UpdateData();
|
|
m_wndEditHThick.EnableWindow(m_bHeat);
|
|
}
|
|
|
|
void KTPIDPipeParamDlg::OnAddPipeLine()
|
|
{
|
|
m_wndPIDPipePage.OnAddPipeLine();
|
|
} |