181 lines
5.6 KiB
C++
181 lines
5.6 KiB
C++
// WaterRationDlg.cpp : implementation file
|
|
//
|
|
|
|
#include "stdafx.h"
|
|
#include "shs_outdoor.h"
|
|
#include "WaterRationDlg.h"
|
|
|
|
#ifdef _DEBUG
|
|
#define new DEBUG_NEW
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[] = __FILE__;
|
|
#endif
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CWaterRationDlg dialog
|
|
|
|
|
|
CWaterRationDlg::CWaterRationDlg(CWnd* pParent /*=NULL*/)
|
|
: CDialog(CWaterRationDlg::IDD, pParent)
|
|
{
|
|
//{{AFX_DATA_INIT(CWaterRationDlg)
|
|
m_radWaterPurpose = 0;
|
|
//}}AFX_DATA_INIT
|
|
}
|
|
|
|
|
|
void CWaterRationDlg::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
//{{AFX_DATA_MAP(CWaterRationDlg)
|
|
DDX_Control(pDX, IDC_LIST_WATER_RATION, m_lstWaterRation);
|
|
DDX_Radio(pDX, IDC_RADIO_PURPOSE, m_radWaterPurpose);
|
|
//}}AFX_DATA_MAP
|
|
}
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CWaterRationDlg, CDialog)
|
|
//{{AFX_MSG_MAP(CWaterRationDlg)
|
|
ON_NOTIFY(NM_DBLCLK, IDC_LIST_WATER_RATION, OnDblclkListWaterRation)
|
|
ON_BN_CLICKED(IDC_RADIO_PURPOSE, OnRadioPurpose)
|
|
ON_BN_CLICKED(IDC_RADIO_PURPOSE1, OnRadioPurpose1)
|
|
ON_BN_CLICKED(IDC_RADIO_PURPOSE2, OnRadioPurpose2)
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CWaterRationDlg message handlers
|
|
|
|
BOOL CWaterRationDlg::OnInitDialog()
|
|
{
|
|
CDialog::OnInitDialog();
|
|
|
|
m_lstWaterRation.SetExtendedStyle(LVS_EX_FULLROWSELECT);
|
|
m_lstWaterRation.InsertColumn (0, _T("用地代号"), LVCFMT_CENTER, 70);
|
|
m_lstWaterRation.InsertColumn (1, _T("用地名称"), LVCFMT_CENTER, 170);
|
|
m_lstWaterRation.InsertColumn (2, _T("用水量指标"), LVCFMT_CENTER, 80);
|
|
|
|
UpdateDataRationList();
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
void CWaterRationDlg::OnOK()
|
|
{
|
|
// 确定当前所选项
|
|
POSITION pos = m_lstWaterRation.GetFirstSelectedItemPosition();
|
|
int iCurSel = m_lstWaterRation.GetNextSelectedItem(pos);
|
|
if (0 > iCurSel)
|
|
return;
|
|
CString csWaterRation = m_lstWaterRation.GetItemText(iCurSel, 2);
|
|
m_csWaterRation = DefaultWaterRation(csWaterRation);
|
|
|
|
CDialog::OnOK();
|
|
}
|
|
|
|
CString CWaterRationDlg::DefaultWaterRation(CString csRationRange)
|
|
{
|
|
int idx = csRationRange.Find(_T("~"));
|
|
if (-1 == idx)
|
|
return _T("");
|
|
CString csTmp;
|
|
csTmp = csRationRange.Left(idx); // min
|
|
csRationRange.Delete(0, idx + 1); // max
|
|
double dMidValue = 0.0;
|
|
dMidValue = (_tstof(csTmp) + _tstof(csRationRange)) / 2;
|
|
csTmp.Format(_T("%.2f"), dMidValue);
|
|
|
|
return csTmp;
|
|
}
|
|
|
|
void CWaterRationDlg::OnDblclkListWaterRation(NMHDR* pNMHDR, LRESULT* pResult)
|
|
{
|
|
OnOK();
|
|
|
|
*pResult = 0;
|
|
}
|
|
|
|
void CWaterRationDlg::UpdateDataRationList()
|
|
{
|
|
UpdateData();
|
|
m_lstWaterRation.DeleteAllItems();
|
|
// 《城市给水工程规划规范》(GB 50282—98)
|
|
switch (m_radWaterPurpose)
|
|
{
|
|
case 0:
|
|
// 表2.2.5-2 单位公共设施用地用水量指标
|
|
m_lstWaterRation.InsertItem(0, _T("C"));
|
|
m_lstWaterRation.SetItemText(0, 1, _T("商贸金融用地"));
|
|
m_lstWaterRation.SetItemText(0, 2, _T("0.50~1.00"));
|
|
m_lstWaterRation.InsertItem(1, _T("C"));
|
|
m_lstWaterRation.SetItemText(1, 1, _T("体育、文化娱乐用地"));
|
|
m_lstWaterRation.SetItemText(1, 2, _T("0.50~1.00"));
|
|
m_lstWaterRation.InsertItem(2, _T("C"));
|
|
m_lstWaterRation.SetItemText(2, 1, _T("旅馆、服务业用地"));
|
|
m_lstWaterRation.SetItemText(2, 2, _T("1.00~1.50"));
|
|
m_lstWaterRation.InsertItem(3, _T("C"));
|
|
m_lstWaterRation.SetItemText(3, 1, _T("教育用地"));
|
|
m_lstWaterRation.SetItemText(3, 2, _T("1.00~1.50"));
|
|
m_lstWaterRation.InsertItem(4, _T("C"));
|
|
m_lstWaterRation.SetItemText(4, 1, _T("医疗、休疗养用地"));
|
|
m_lstWaterRation.SetItemText(4, 2, _T("1.00~1.50"));
|
|
m_lstWaterRation.InsertItem(5, _T("C"));
|
|
m_lstWaterRation.SetItemText(5, 1, _T("其他公共设施用地"));
|
|
m_lstWaterRation.SetItemText(5, 2, _T("0.80~1.20"));
|
|
break;
|
|
case 1:
|
|
// 表2.2.5-3 单位工业用地用水量指标
|
|
m_lstWaterRation.InsertItem(0, _T("M1"));
|
|
m_lstWaterRation.SetItemText(0, 1, _T("一类工业用地"));
|
|
m_lstWaterRation.SetItemText(0, 2, _T("1.20~2.00"));
|
|
m_lstWaterRation.InsertItem(1, _T("M2"));
|
|
m_lstWaterRation.SetItemText(1, 1, _T("二类工业用地"));
|
|
m_lstWaterRation.SetItemText(1, 2, _T("2.00~3.50"));
|
|
m_lstWaterRation.InsertItem(2, _T("M3"));
|
|
m_lstWaterRation.SetItemText(2, 1, _T("三类工业用地"));
|
|
m_lstWaterRation.SetItemText(2, 2, _T("3.00~5.00"));
|
|
break;
|
|
case 2:
|
|
// 表2.2.5-4 单位其他用地用水量指标
|
|
m_lstWaterRation.InsertItem(0, _T("W"));
|
|
m_lstWaterRation.SetItemText(0, 1, _T("仓储用地"));
|
|
m_lstWaterRation.SetItemText(0, 2, _T("0.20~0.50"));
|
|
m_lstWaterRation.InsertItem(1, _T("T"));
|
|
m_lstWaterRation.SetItemText(1, 1, _T("对外交通用地"));
|
|
m_lstWaterRation.SetItemText(1, 2, _T("0.30~0.60"));
|
|
m_lstWaterRation.InsertItem(2, _T("S"));
|
|
m_lstWaterRation.SetItemText(2, 1, _T("道路广场用地"));
|
|
m_lstWaterRation.SetItemText(2, 2, _T("0.20~0.30"));
|
|
m_lstWaterRation.InsertItem(3, _T("U"));
|
|
m_lstWaterRation.SetItemText(3, 1, _T("市政公用设施用地"));
|
|
m_lstWaterRation.SetItemText(3, 2, _T("0.25~0.50"));
|
|
m_lstWaterRation.InsertItem(4, _T("G"));
|
|
m_lstWaterRation.SetItemText(4, 1, _T("绿地"));
|
|
m_lstWaterRation.SetItemText(4, 2, _T("0.10~0.30"));
|
|
m_lstWaterRation.InsertItem(5, _T("D"));
|
|
m_lstWaterRation.SetItemText(5, 1, _T("特殊用地"));
|
|
m_lstWaterRation.SetItemText(5, 2, _T("0.50~0.90"));
|
|
m_lstWaterRation.InsertItem(6, _T("C"));
|
|
m_lstWaterRation.SetItemText(6, 1, _T("行政办公用地"));
|
|
m_lstWaterRation.SetItemText(6, 2, _T("0.50~1.00"));
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
void CWaterRationDlg::OnRadioPurpose()
|
|
{
|
|
UpdateDataRationList();
|
|
}
|
|
|
|
void CWaterRationDlg::OnRadioPurpose1()
|
|
{
|
|
UpdateDataRationList();
|
|
}
|
|
|
|
void CWaterRationDlg::OnRadioPurpose2()
|
|
{
|
|
UpdateDataRationList();
|
|
}
|