218 lines
4.3 KiB
C++
218 lines
4.3 KiB
C++
#include "stdafx.h"
|
|
#include "DXCHDlg.h"
|
|
#include "uihistory.h"
|
|
|
|
IMPLEMENT_DYNAMIC(CDXCHDlg, CDialog)
|
|
|
|
CDXCHDlg::CDXCHDlg(CWnd* pParent /*=NULL*/)
|
|
: CDialog(CDXCHDlg::IDD, pParent)
|
|
, m_sNo(_T(""))
|
|
, m_sH(_T("2100"))
|
|
, m_sH2(_T("300"))
|
|
, m_dColSp(1000)
|
|
, m_dRow1H(800)
|
|
, m_dFrmThick(65)
|
|
, m_dFrmWidth(135)
|
|
, m_dThick(30)
|
|
, m_sMaterial(_T("断桥铝合金"))
|
|
, m_sProvider(_T("定做"))
|
|
|
|
, m_dOut1(500)
|
|
, m_dOut2(900)
|
|
, m_bFTG(FALSE)
|
|
, m_bAddBaf1(FALSE)
|
|
, m_bAddBaf2(FALSE)
|
|
, m_dExt1(150)
|
|
, m_dExt2(270)
|
|
, m_dGlassOffIn(50)
|
|
, m_dBafThick(100)
|
|
, m_bBayWin(FALSE)
|
|
{
|
|
//{{AFX_DATA_INIT(CDialog)
|
|
//}}AFX_DATA_INIT
|
|
|
|
GET_CACHE(CDXCHDlg
|
|
, %s %s %s %f %f %f %f %f %s %s
|
|
%f %f %d %d %d %f %f %f %f %d
|
|
, &m_sNo
|
|
, &m_sH
|
|
, &m_sH2
|
|
, &m_dColSp
|
|
, &m_dRow1H
|
|
, &m_dFrmThick
|
|
, &m_dFrmWidth
|
|
, &m_dThick
|
|
, &m_sMaterial
|
|
, &m_sProvider
|
|
, &m_dOut1
|
|
, &m_dOut2
|
|
, &m_bFTG
|
|
, &m_bAddBaf1
|
|
, &m_bAddBaf2
|
|
, &m_dExt1
|
|
, &m_dExt2
|
|
, &m_dGlassOffIn
|
|
, &m_dBafThick
|
|
, &m_bBayWin);
|
|
|
|
}
|
|
|
|
CDXCHDlg::~CDXCHDlg()
|
|
{
|
|
}
|
|
|
|
void CDXCHDlg::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
//{{AFX_DATA_MAP(CDXCHDlg)
|
|
DDX_Text(pDX, IDC_EDIT1, m_sNo);
|
|
DDX_CBString(pDX, IDC_COMBO1, m_sH);
|
|
DDX_CBString(pDX, IDC_COMBO8, m_sH2);
|
|
DDX_Text(pDX, IDC_EDIT4, m_dColSp);
|
|
DDX_Text(pDX, IDC_EDIT5, m_dRow1H);
|
|
|
|
DDX_Text(pDX, IDC_EDIT7, m_dThick);
|
|
DDX_Text(pDX, IDC_EDIT8, m_dFrmThick);
|
|
DDX_Text(pDX, IDC_EDIT9, m_dFrmWidth);
|
|
|
|
DDX_Text(pDX, IDC_EDIT3, m_sMaterial);
|
|
DDX_Text(pDX, IDC_EDIT2, m_sProvider);
|
|
//}}AFX_DATA_MAP
|
|
DDX_Text(pDX, IDC_EDIT6, m_dOut1);
|
|
DDX_Text(pDX, IDC_EDIT10, m_dOut2);
|
|
DDX_Check(pDX, IDC_CHECK2, m_bFTG);
|
|
DDX_Check(pDX, IDC_CHECK6, m_bAddBaf1);
|
|
DDX_Check(pDX, IDC_CHECK9, m_bAddBaf2);
|
|
DDX_Text(pDX, IDC_EDIT11, m_dExt1);
|
|
DDX_Text(pDX, IDC_EDIT15, m_dExt2);
|
|
DDX_Text(pDX, IDC_EDIT16, m_dGlassOffIn);
|
|
DDX_Text(pDX, IDC_EDIT17, m_dBafThick);
|
|
DDX_Check(pDX, IDC_CHECK1, m_bBayWin);
|
|
}
|
|
|
|
BEGIN_MESSAGE_MAP(CDXCHDlg, CDialog)
|
|
//{{AFX_MSG_MAP(CDXCHDlg)
|
|
ON_BN_CLICKED(IDOK, &CDXCHDlg::OnBnClickedOk)
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
|
|
void CDXCHDlg::GetOpeningData(OpeningData& data) const
|
|
{
|
|
data.nType = 2;
|
|
|
|
if (m_bBayWin)
|
|
data.nFlag = 2;//角凸窗
|
|
else
|
|
data.nFlag = 0;//带型窗户
|
|
|
|
data.dWidth = 99999;//实际取路径
|
|
data.dBomEl = _ttof(m_sH2);
|
|
data.dHeight = _ttof(m_sH);
|
|
//data.dThick = m_dThick;
|
|
|
|
if (m_bFTG)
|
|
{
|
|
data.dBomEl = 0;
|
|
}
|
|
|
|
memset(data.dXData,0,sizeof(double)*16);
|
|
data.dXData[0] = m_dColSp;
|
|
data.dXData[1] = m_dRow1H;
|
|
data.dXData[2] = m_dFrmThick;
|
|
data.dXData[3] = m_dFrmWidth;
|
|
data.dXData[4] = m_dThick;
|
|
|
|
data.dXData[5] = m_dOut1;
|
|
data.dXData[6] = m_dOut2;
|
|
data.dXData[7] = m_dExt1;
|
|
data.dXData[8] = m_dExt2;
|
|
data.dXData[9] = m_dGlassOffIn;
|
|
data.dXData[10] = m_dBafThick;
|
|
|
|
data.bBayWin = m_bBayWin;
|
|
data.bFTG = m_bFTG;
|
|
data.bAddBaf1 = m_bAddBaf1;
|
|
data.bAddBaf2 = m_bAddBaf2;
|
|
|
|
_tcscpy(data.szBlockName2d,_T("*"));
|
|
_tcscpy(data.szBlockName3d,_T("*"));
|
|
_tcscpy(data.szName,_T("带型窗户"));
|
|
_tcscpy(data.szSpec,m_sMaterial);
|
|
_tcscpy(data.szFactory,m_sProvider);
|
|
_tcscpy(data.szNo,m_sNo);
|
|
}
|
|
|
|
void CDXCHDlg::SetOpeningData(const OpeningData& data)
|
|
{
|
|
m_bBayWin = data.nFlag;
|
|
|
|
m_sH2.Format(_T("%f"), data.dBomEl);
|
|
m_sH.Format(_T("%f"), data.dHeight);
|
|
|
|
m_dColSp = data.dXData[0];
|
|
m_dRow1H = data.dXData[1];
|
|
m_dFrmThick = data.dXData[2];
|
|
m_dFrmWidth = data.dXData[3];
|
|
m_dThick = data.dXData[4];
|
|
|
|
m_dOut1 = data.dXData[5];
|
|
m_dOut2 = data.dXData[6];
|
|
m_dExt1 = data.dXData[7];
|
|
m_dExt2 = data.dXData[8];
|
|
m_dGlassOffIn = data.dXData[9];
|
|
m_dBafThick = data.dXData[10];
|
|
|
|
m_bBayWin = data.bBayWin;
|
|
m_bFTG = data.bFTG;
|
|
m_bAddBaf1 = data.bAddBaf1;
|
|
m_bAddBaf2 = data.bAddBaf2;
|
|
|
|
m_sMaterial = data.szSpec;
|
|
m_sProvider = data.szFactory;
|
|
m_sNo = data.szNo;
|
|
}
|
|
|
|
BOOL CDXCHDlg::OnInitDialog()
|
|
{
|
|
CDialog::OnInitDialog();
|
|
|
|
UpdateData(FALSE);
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
void CDXCHDlg::OnBnClickedOk()
|
|
{
|
|
UpdateData();
|
|
|
|
SET_CACHE(CDXCHDlg
|
|
, %s %s %s %f %f %f %f %f %s %s
|
|
%f %f %d %d %d %f %f %f %f %d
|
|
, m_sNo
|
|
, m_sH
|
|
, m_sH2
|
|
, m_dColSp
|
|
, m_dRow1H
|
|
, m_dFrmThick
|
|
, m_dFrmWidth
|
|
, m_dThick
|
|
, m_sMaterial
|
|
, m_sProvider
|
|
, m_dOut1
|
|
, m_dOut2
|
|
, m_bFTG
|
|
, m_bAddBaf1
|
|
, m_bAddBaf2
|
|
, m_dExt1
|
|
, m_dExt2
|
|
, m_dGlassOffIn
|
|
, m_dBafThick
|
|
, m_bBayWin);
|
|
|
|
if (m_dRow1H > _ttof(m_sH))
|
|
{
|
|
AfxMessageBox(_T("第一层分割高不可以大于窗高!"));
|
|
return;
|
|
}
|
|
EndDialog(IDOK);
|
|
} |