Files
envi-code/SourceCode/Code2026/PipelineCmd/KTInsulateMainDlg.cpp
T
2026-09-28 15:28:50 +08:00

181 lines
3.8 KiB
C++

#include "stdafx.h"
#include "KTInsulateMainDlg.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
KTInsulateMainDlg::KTInsulateMainDlg(CWnd* pParent /*=NULL*/)
: CDialog(KTInsulateMainDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(KTInsulateMainDlg)
m_bHeat = FALSE;
m_bInsu = FALSE;
//}}AFX_DATA_INIT
m_pPipePar = NULL;
m_pADOServer = NULL;
}
void KTInsulateMainDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(KTInsulateMainDlg)
DDX_Control(pDX, IDC_STATIC_PAGE, m_wndPage);
DDX_Control(pDX, IDC_TABPAGE, m_wndTabPage);
DDX_Check(pDX, IDC_CHECKHEAT, m_bHeat);
DDX_Check(pDX, IDC_CHECKINSU, m_bInsu);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(KTInsulateMainDlg, CDialog)
//{{AFX_MSG_MAP(KTInsulateMainDlg)
ON_BN_CLICKED(IDC_CHECKINSU, OnCheckinsu)
ON_BN_CLICKED(IDC_CHECKHEAT, OnCheckheat)
ON_NOTIFY(TCN_SELCHANGE, IDC_TABPAGE, OnSelchangeTabpage)
//}}AFX_MSG_MAP
ON_BN_CLICKED(IDOK, &KTInsulateMainDlg::OnBnClickedOk)
END_MESSAGE_MAP()
void KTInsulateMainDlg::SetADOServer(KTADODatabase* pADOServer)
{
m_pADOServer = pADOServer;
m_wndTracingDlg.SetADOServer(pADOServer);
m_wndInsDlg.SetADOServer(pADOServer);
}
void KTInsulateMainDlg::SetPipeParam(WPipe::PipeParam* pPipePar)
{
m_pPipePar = pPipePar;
m_wndTracingDlg.SetPipeParam(pPipePar);
m_wndInsDlg.SetPipeParam(pPipePar);
}
BOOL KTInsulateMainDlg::OnInitDialog()
{
CDialog::OnInitDialog();
m_wndInsDlg.Create(IDD_INSULATEDLG,&m_wndTabPage);
m_wndInsDlg.SetOwner(&m_wndTabPage);
m_wndTracingDlg.Create(IDD_TRACINGDLG,&m_wndTabPage);
m_wndTracingDlg.SetOwner(&m_wndTabPage);
CRect rcFrame;
m_wndPage.GetWindowRect(rcFrame);
m_wndPage.ShowWindow(SW_HIDE);
m_wndTabPage.ScreenToClient(rcFrame);
m_wndInsDlg.MoveWindow(rcFrame);
m_wndInsDlg.ShowWindow(SW_SHOW);
m_wndTracingDlg.MoveWindow(rcFrame);
m_wndTracingDlg.ShowWindow(SW_HIDE);
m_wndTabPage.InsertItem(0,_T("保温"));
m_wndTabPage.InsertItem(1,_T("伴热"));
m_wndTabPage.SetCurSel(0);
if (m_pPipePar != NULL)
{
m_bInsu = (m_pPipePar->m_nInsAndHead > 0);
m_bHeat = (m_pPipePar->m_nInsAndHead == 2);
UpdateData(FALSE);
}
return TRUE;
}
void KTInsulateMainDlg::UpdateParamDlgFromParam()
{
if (m_pPipePar != NULL)
{
m_bInsu = (m_pPipePar->m_nInsAndHead > 0);
m_bHeat = (m_pPipePar->m_nInsAndHead == 2);
UpdateData(FALSE);
m_wndTracingDlg.UpdateParamDlgFromParam();
m_wndInsDlg.UpdateParamDlgFromParam();
}
}
BOOL KTInsulateMainDlg::OnCommand(WPARAM wParam, LPARAM lParam)
{
return CDialog::OnCommand(wParam, lParam);
}
void KTInsulateMainDlg::OnCheckinsu()
{
UpdateData();
if (m_pPipePar != NULL)
{
int nTag = 0;
if (m_bHeat) nTag = 1;
if (m_bInsu) nTag += 1;
m_pPipePar->m_nInsAndHead = nTag;
}
}
void KTInsulateMainDlg::OnCheckheat()
{
UpdateData();
//有伴热,一定有保温;
if (m_bHeat)
{
m_bInsu = TRUE;
UpdateData(FALSE);
}
if (m_pPipePar != NULL)
{
int nTag = 0;
if (m_bHeat) nTag = 1;
if (m_bInsu) nTag += 1;
m_pPipePar->m_nInsAndHead = nTag;
}
}
void KTInsulateMainDlg::OnSelchangeTabpage(NMHDR* pNMHDR, LRESULT* pResult)
{
int nCursel = m_wndTabPage.GetCurSel();
if (nCursel != -1)
{
if (nCursel == 0)
{
m_wndInsDlg.ShowWindow(SW_SHOW);
m_wndTracingDlg.ShowWindow(SW_HIDE);
}
if (nCursel == 1)
{
m_wndTracingDlg.ShowWindow(SW_SHOW);
m_wndInsDlg.ShowWindow(SW_HIDE);
}
}
*pResult = 0;
}
BOOL KTInsulateMainDlg::UpdateDataEx()
{
int nFlag = 0;
if (m_bHeat) nFlag = 1;
if (m_bInsu) nFlag += 1;
m_pPipePar->m_nInsAndHead = nFlag;
BOOL bSuccess1 = m_wndTracingDlg.UpdateDataEx();
BOOL bSuccess2 = m_wndInsDlg.UpdateDataEx();
return bSuccess1 && bSuccess2;
}
void KTInsulateMainDlg::OnBnClickedOk()
{
UpdateDataEx();
CDialog::OnOK();
}