151 lines
2.6 KiB
C++
151 lines
2.6 KiB
C++
#include "stdafx.h"
|
|
#include "FMHDlg.h"
|
|
#include "uitools.h"
|
|
|
|
IMPLEMENT_DYNAMIC(CFMHDlg, CDialog)
|
|
|
|
CFMHDlg::CFMHDlg(CWnd* pParent /*=NULL*/)
|
|
: CDialog(CFMHDlg::IDD, pParent)
|
|
, m_nType(0)
|
|
, m_dW(1200)
|
|
, m_dH(2100)
|
|
, m_sSpec(_T("防火门 FM甲1221"))
|
|
, m_sProvider(_T("九安防火门集团"))
|
|
, m_dX(0)
|
|
, m_bRemove(false)
|
|
, m_nNo(0)
|
|
{
|
|
static int nNo = 1;
|
|
m_nNo = nNo;
|
|
nNo++;
|
|
UIDataCache::Read(_T("%s%s%i%d%d%d")
|
|
, _T("CFMHDlg")
|
|
, &m_sSpec
|
|
, &m_sProvider
|
|
, &m_nType
|
|
, &m_dW
|
|
, &m_dH
|
|
, &m_dX);
|
|
}
|
|
|
|
CFMHDlg::~CFMHDlg()
|
|
{
|
|
}
|
|
|
|
void CFMHDlg::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
DDX_Radio(pDX, IDC_RADIO1, m_nType);
|
|
DDX_Text(pDX, IDC_EDIT1, m_dW);
|
|
DDX_Text(pDX, IDC_EDIT2, m_dH);
|
|
DDX_Text(pDX, IDC_EDIT3, m_sSpec);
|
|
DDX_Text(pDX, IDC_EDIT4, m_sProvider);
|
|
DDX_Text(pDX, IDC_EDIT10, m_dX);
|
|
DDX_Text(pDX, IDC_EDIT34, m_nNo);
|
|
DDV_MinMaxInt(pDX, m_nNo, 1, 99);
|
|
}
|
|
|
|
BEGIN_MESSAGE_MAP(CFMHDlg, CDialog)
|
|
ON_BN_CLICKED(IDOK, &CFMHDlg::OnBnClickedOk)
|
|
ON_BN_CLICKED(IDC_RADIO2, &CFMHDlg::OnBnClickedRadio2)
|
|
ON_BN_CLICKED(IDC_RADIO1, &CFMHDlg::OnBnClickedRadio1)
|
|
ON_BN_CLICKED(IDC_RADIO3, &CFMHDlg::OnBnClickedRadio3)
|
|
ON_BN_CLICKED(IDOK2, &CFMHDlg::OnBnClickedOk2)
|
|
END_MESSAGE_MAP()
|
|
|
|
BOOL CFMHDlg::OnInitDialog()
|
|
{
|
|
CDialog::OnInitDialog();
|
|
|
|
UpdateData(FALSE);
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
int CFMHDlg::GetScript(CString& sScrpt, int nRoomIndex,CString& sOffsets)
|
|
{
|
|
//FIREDOOR:房间|宽|高|位置|型号|厂家|偏移|编号
|
|
sScrpt.Format(_T("<FIREDOOR:%d|%.3f|%.3f|%.3f|%s|%s|%s|%d>")
|
|
, nRoomIndex
|
|
, m_dW
|
|
, m_dH
|
|
, m_dX
|
|
, m_sSpec
|
|
, m_sProvider
|
|
, sOffsets
|
|
, m_nNo);
|
|
return 0;
|
|
}
|
|
|
|
void CFMHDlg::OnBnClickedOk()
|
|
{
|
|
UpdateData();
|
|
|
|
if (m_dW < 600.0 || m_dH < 1200.0)
|
|
{
|
|
AfxMessageBox(_T("防火门的宽度和高度尺寸太小!请检查尺寸!"));
|
|
return;
|
|
}
|
|
UIDataCache::Write(_T("%s%s%i%d%d%d")
|
|
, _T("CFMHDlg")
|
|
, &m_sSpec
|
|
, &m_sProvider
|
|
, &m_nType
|
|
, &m_dW
|
|
, &m_dH
|
|
, &m_dX);
|
|
CDialog::OnOK();
|
|
}
|
|
|
|
void CFMHDlg::OnBnClickedRadio2()
|
|
{
|
|
UpdateData();
|
|
FormatSpec();
|
|
}
|
|
|
|
void CFMHDlg::OnBnClickedRadio1()
|
|
{
|
|
UpdateData();
|
|
FormatSpec();
|
|
}
|
|
|
|
void CFMHDlg::OnBnClickedRadio3()
|
|
{
|
|
UpdateData();
|
|
FormatSpec();
|
|
}
|
|
|
|
void CFMHDlg::FormatSpec()
|
|
{
|
|
// m_sSpec(_T("防火门 FM甲1221")
|
|
int nW = (int)(m_dW / 100.0 + 0.5);
|
|
int nH = (int)(m_dH / 100.0 + 0.5);
|
|
switch (m_nType)
|
|
{
|
|
case 0:
|
|
{
|
|
m_sSpec.Format(_T("防火门 FM甲%d%d"),nW,nH);
|
|
break;
|
|
}
|
|
case 1:
|
|
{
|
|
m_sSpec.Format(_T("防火门 FM乙%d%d"), nW, nH);
|
|
break;
|
|
}
|
|
case 2:
|
|
{
|
|
m_sSpec.Format(_T("防火门 FM丙%d%d"), nW, nH);
|
|
break;
|
|
}
|
|
default:
|
|
break;
|
|
}
|
|
UpdateData(FALSE);
|
|
}
|
|
|
|
void CFMHDlg::OnBnClickedOk2()
|
|
{
|
|
m_bRemove = true;
|
|
OnBnClickedOk();
|
|
}
|