169 lines
3.5 KiB
C++
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);
|
|
} |