Files
gjm 164968b62e chore
把非utf8-bom编码的cpp/h文件改为 utf8 bom 编码, msvc识别utf8编码时,如果不是bom格式的,会使用当前cp_oem来解码.
2026-10-04 00:04:20 +08:00

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