184 lines
3.8 KiB
C++
184 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()
|
|
{
|
|
UpdateData();
|
|
|
|
int nFlag = 0;
|
|
if (m_bHeat) nFlag = 1;
|
|
if (m_bInsu) nFlag += 2;
|
|
|
|
m_pPipePar->m_nInsAndHead = nFlag;
|
|
BOOL bSuccess1 = m_wndTracingDlg.UpdateDataEx();
|
|
BOOL bSuccess2 = m_wndInsDlg.UpdateDataEx();
|
|
return bSuccess1 && bSuccess2;
|
|
}
|
|
|
|
void KTInsulateMainDlg::OnBnClickedOk()
|
|
{
|
|
UpdateDataEx();
|
|
|
|
CDialog::OnOK();
|
|
}
|