#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(); }