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

169 lines
3.5 KiB
C++

#include "stdafx.h"
#include "DCQJDlg.h"
#include "ECableParamDlg.h"
#define INDEX_IMG 0
#define INDEX_SEL_IMG 1
IMPLEMENT_DYNAMIC(CDCQJDlg, CDialog)
CDCQJDlg::CDCQJDlg(CWnd* pParent /*=NULL*/)
: CDialog(CDCQJDlg::IDD, pParent)
, m_nAlign(0)
{
}
CDCQJDlg::~CDCQJDlg()
{
}
void CDCQJDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_LIST1, m_wndList);
DDX_Radio(pDX, IDC_RADIO1, m_nAlign);
}
BEGIN_MESSAGE_MAP(CDCQJDlg, CDialog)
ON_BN_CLICKED(IDC_BUTTON1, &CDCQJDlg::OnBnClickedButton1)
ON_BN_CLICKED(IDC_BUTTON3, &CDCQJDlg::OnBnClickedButton3)
ON_BN_CLICKED(IDOK, &CDCQJDlg::OnBnClickedOk)
END_MESSAGE_MAP()
BOOL CDCQJDlg::OnInitDialog()
{
CDialog::OnInitDialog();
CBitmap bmp;
if (!bmp.LoadBitmap (IDB_TOOLBAR))
{
AfxMessageBox(_T("Can't load bitmap: %x\n"),IDB_TOOLBAR);
return FALSE;
}
BITMAP bmpObj;
bmp.GetBitmap (&bmpObj);
UINT nFlags = ILC_COLOR24 | ILC_MASK;
m_imageList.Create (16, bmpObj.bmHeight, nFlags, 0, 0);
m_imageList.Add (&bmp, RGB (255, 0, 0));
m_wndList.SetExtendedStyle(LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT | LVS_EX_SINGLEROW);
m_wndList.InsertColumn(0,_T("序号"),LVCFMT_LEFT,100);
m_wndList.InsertColumn(1,_T("宽度"),LVCFMT_LEFT,120);
m_wndList.InsertColumn(2,_T("高度"),LVCFMT_LEFT,120);
m_wndList.InsertColumn(3,_T("标高"),LVCFMT_LEFT,120);
m_wndList.InsertColumn(4,_T("类型"),LVCFMT_LEFT,240);
return TRUE;
}
//添加记录
void CDCQJDlg::OnBnClickedButton1()
{
CECableParamDlg dlg;
dlg.SetAlignEnable(FALSE);
if (IDOK == dlg.DoModal() )
{
AecHvac::DuctParam* pdp = new AecHvac::DuctParam;
memset(pdp,0,sizeof(AecHvac::DuctParam));
dlg.GetPipeParam(pdp);
InsertPipeParam(pdp);
}
}
void CDCQJDlg::InsertPipeParam(AecHvac::DuctParam* pParam)
{
if (pParam == NULL)
return;
CString sEl;
int nCount = m_wndList.GetItemCount();
for (int i = 0;i < nCount;i++)
{
sEl = m_wndList.GetItemText(i,3);
if ( fabs(_ttof(sEl) - pParam->m_dEl) < 1.e-3)
{
AfxMessageBox(_T("新加层标高冲突!请重新添加!"));
return;
}
}
CString sText = _T("111");
m_wndList.InsertItem(nCount,sText);
sText.Format(_T("%g"),pParam->dSize[0]);
m_wndList.SetItemText(nCount,1,sText);
sText.Format(_T("%g"),pParam->dSize[1]);
m_wndList.SetItemText(nCount,2,sText);
sText.Format(_T("%g"),pParam->m_dEl);
m_wndList.SetItemText(nCount,3,sText);
m_wndList.SetItemText(nCount,4,pParam->szType);
m_wndList.SetItemData(nCount,(DWORD_PTR)pParam);
AdjustNo();
}
void CDCQJDlg::AdjustNo()
{
CString sIndex;
int nCount = m_wndList.GetItemCount();
for (int i = 0;i < nCount;i++)
{
sIndex.Format(_T("%d"),i+1);
m_wndList.SetItemText(i,0,sIndex);
}
}
//删除记录
void CDCQJDlg::OnBnClickedButton3()
{
POSITION ps = m_wndList.GetFirstSelectedItemPosition();
if (ps != NULL)
{
int nItem = m_wndList.GetNextSelectedItem(ps);
if (nItem != -1)
{
DWORD_PTR dwXData = m_wndList.GetItemData(nItem);
if (dwXData != 0)
{
AecHvac::DuctParam* pdp = (AecHvac::DuctParam*)dwXData;
delete pdp;
}
m_wndList.DeleteItem(nItem);
}
}
}
void CDCQJDlg::OnBnClickedOk()
{
AecHvac::DuctParam* pdp = NULL;
int nCount = m_wndList.GetItemCount();
for (int i = 0;i < nCount;i++)
{
DWORD_PTR dwXData = m_wndList.GetItemData(i);
if (dwXData != 0)
{
pdp = (AecHvac::DuctParam*)dwXData;
pdp->m_nAlign = m_nAlign;
m_arParamPtrs.append(pdp);
}
}
OnOK();
}
void CDCQJDlg::GetPipeParams(AcArray<AecHvac::DuctParam*>& arParamPtrs)
{
arParamPtrs.append(m_arParamPtrs);
}