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

121 lines
2.6 KiB
C++

#include "stdafx.h"
#include "JPSGDlg.h"
#include "CCSYDlg.h"
#include "UITools.h"
IMPLEMENT_DYNAMIC(CJPSGDlg, CDialog)
CJPSGDlg::CJPSGDlg(CWnd* pParent /*=NULL*/)
: CDialog(CJPSGDlg::IDD, pParent)
, m_dW(300)
, m_dH(100)
, m_nPos(0)
, m_nPosTail(1)
, m_nPosMid(0)
, m_dGrade(1.5)
, m_bRemove(false)
, m_nNo(0)
{
static int nNo = 1;
m_nNo = nNo;
nNo++;
::memset(&m_data, 0, sizeof(EWFnctNode));
}
CJPSGDlg::~CJPSGDlg()
{
}
void CJPSGDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Text(pDX, IDC_EDITW, m_dW);
DDX_Text(pDX, IDC_EDITH, m_dH);
DDX_Radio(pDX, IDC_RADIOL, m_nPos);
DDX_Radio(pDX, IDC_RADIOL2, m_nPosTail);
DDX_Radio(pDX, IDC_RADIOL3, m_nPosMid);
DDX_Text(pDX, IDC_EDITGRD, m_dGrade);
DDX_Text(pDX, IDC_EDITH2, m_nNo);
DDV_MinMaxInt(pDX, m_nNo, 1, 99);
}
BEGIN_MESSAGE_MAP(CJPSGDlg, CDialog)
ON_BN_CLICKED(IDOK, &CJPSGDlg::OnBnClickedOk)
ON_BN_CLICKED(IDC_BUTTON1, &CJPSGDlg::OnBnClickedButton1)
ON_BN_CLICKED(IDOK2, &CJPSGDlg::OnBnClickedOk2)
END_MESSAGE_MAP()
BOOL CJPSGDlg::OnInitDialog()
{
CDialog::OnInitDialog();
m_data.fNodeDef[0] = AS_MUNITF(300);
m_data.fNodeDef[1] = AS_MUNITF(100);
m_data.fNodeDef[2] = .1f;
m_data.fNodeDef[3] = 2.f;
m_data.fNodeDef[4] = .1f;
m_data.fNodeDef[5] = 1.5f;
UIDataCache::FindNode(_T("JPSG"), &m_data);
m_dW = AS_M2MM(m_data.fNodeDef[0]);
m_dH = AS_M2MM(m_data.fNodeDef[1]);
m_nPos = m_data.fNodeDef[2] > 1.f ? 1 : 0;
m_nPosTail = m_data.fNodeDef[3] > 1.f ? 1 : 0;
m_nPosMid = m_data.fNodeDef[4] > 1.f ? 1 : 0;
m_dGrade = m_data.fNodeDef[5];
UpdateData(FALSE);
return TRUE;
}
void CJPSGDlg::OnBnClickedOk()
{
UpdateData();
if (m_dW < 10.0)
{
AfxMessageBox(_T("排水沟宽度太小!"));
return;
}
if (m_dH < 10.0)
{
AfxMessageBox(_T("排水沟深度太小!"));
return;
}
m_data.fNodeDef[0] = AS_MUNITF(m_dW);
m_data.fNodeDef[1] = AS_MUNITF(m_dH);
m_data.fNodeDef[2] = m_nPos == 0 ? .1f : 2.f;
m_data.fNodeDef[3] = m_nPosTail == 0 ? .1f : 2.f;
m_data.fNodeDef[4] = m_nPosMid == 0 ? .1f : 2.f;
m_data.fNodeDef[5] = m_dGrade;
UIDataCache::WriteNode(_T("JPSG"), &m_data);
OnOK();
}
void CJPSGDlg::OnBnClickedButton1()
{
CCCSYDlg dlg;
dlg.SetBmpFileName(_T("JPSG.bmp"));
dlg.DoModal();
}
int CJPSGDlg::GetScript(CString& sScript, int nRoomIndex)
{
//GUTTERWAY:1房间位置左右|中房间位置左右|末房间位置左右|排水沟宽|排水沟深H|坡度
sScript.Format(_T("<GUTTERWAY:%d|%d|%d|%.3f|%.3f|%.3f>"), m_nPos, m_nPosMid, m_nPosTail, m_dW, m_dH, m_dGrade);
return 0;
}
void CJPSGDlg::OnBnClickedOk2()
{
m_bRemove = true;
OnBnClickedOk();
}