Files
envi-code/SourceCode/Code2026/PipelineCmd/PipeDDlg.cpp
T
2026-09-28 15:28:50 +08:00

127 lines
2.7 KiB
C++

#include "stdafx.h"
#include "PipeDDlg.h"
IMPLEMENT_DYNAMIC(CPipeDDlg, CDialog)
CPipeDDlg::CPipeDDlg(CWnd* pParent /*=NULL*/)
: CDialog(CPipeDDlg::IDD, pParent)
{
m_dDn = 100;
m_dOd = 114;
m_dThk = 0.0;
m_pDb = NULL;
m_DNMax = 100;
}
CPipeDDlg::~CPipeDDlg(void)
{
}
void CPipeDDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_PIPELIST, m_wndPipeList);
}
BEGIN_MESSAGE_MAP(CPipeDDlg, CDialog)
ON_BN_CLICKED(IDOK, &CPipeDDlg::OnBnClickedOk)
END_MESSAGE_MAP()
void CPipeDDlg::SetDbServer(CUIISQLiteServer* pDb)
{
m_pDb = pDb;
}
BOOL CPipeDDlg::OnInitDialog()
{
CDialog::OnInitDialog();
m_wndPipeList.SetExtendedStyle(LVS_EX_FULLROWSELECT);
m_wndPipeList.InsertColumn(0,_T("무냔殮쓺"),LVCFMT_LEFT,60);
m_wndPipeList.InsertColumn(1,_T("棍쓺"),LVCFMT_LEFT,60);
m_wndPipeList.InsertColumn(2,_T("귿비"),LVCFMT_LEFT,60);
m_wndPipeList.InsertColumn(3,_T("路좆"),LVCFMT_LEFT,60);
m_wndPipeList.InsertColumn(4,_T("獵契깃硫"),LVCFMT_LEFT,0);
m_wndPipeList.InsertColumn(5,_T("膠죕췄甘"),LVCFMT_LEFT,0);
m_wndPipeList.InsertColumn(6,_T("방목謹뵀"),LVCFMT_LEFT,0);
InitPipeList();
UpdateData(FALSE);
return TRUE;
}
void CPipeDDlg::InitPipeList()
{
if (m_pDb != NULL)
{
m_wndPipeList.DeleteAllItems();
//무냔殮쓺溝죗
CString sSQL,sText;
sSQL.Format(_T("select [무냔殮쓺],[棍쓺],[귿비],[路좆] from AecOD where [무냔殮쓺]=%d order by [무냔殮쓺],[귿비]"),m_DNMax);
CUIIValueTable table;
m_pDb->GetSelData(sSQL,table);
table.ShowToListCtrl(&m_wndPipeList);
CString sDnold,sThick;
sDnold.Format(_T("%d"),(int)m_dDn);
bool bFind = false;
for (int i = 0;i < m_wndPipeList.GetItemCount();i++)
{
sText = m_wndPipeList.GetItemText(i,0);
sThick = m_wndPipeList.GetItemText(i,2);
if (m_dThk > 1.e-3 )
{
if (sText.CompareNoCase(sDnold) == 0 && fabs( _ttof(sThick) - m_dThk ) < 1.e-6 )
{
m_wndPipeList.SetItemState(i,LVIS_SELECTED,LVIS_SELECTED);
m_wndPipeList.EnsureVisible(i,TRUE);
bFind = true;
break;
}
}
else
{
if (sText.CompareNoCase(sDnold) == 0 )
{
m_wndPipeList.SetItemState(i,LVIS_SELECTED,LVIS_SELECTED);
m_wndPipeList.EnsureVisible(i,TRUE);
bFind = true;
break;
}
}
}
if (!bFind)
{
if (m_wndPipeList.GetItemCount() > 0)
{
m_wndPipeList.SetItemState(0,LVIS_SELECTED,LVIS_SELECTED);
}
}
}
}
void CPipeDDlg::OnBnClickedOk()
{
POSITION ps = m_wndPipeList.GetFirstSelectedItemPosition();
if (ps != NULL)
{
int nItem = m_wndPipeList.GetNextSelectedItem(ps);
m_dDn = _ttof(m_wndPipeList.GetItemText(nItem,0));
m_dOd = _ttof(m_wndPipeList.GetItemText(nItem,1));
m_dThk = _ttof(m_wndPipeList.GetItemText(nItem,2));
}
else
{
AfxMessageBox(_T("헝朞嶝밗綾방목!"));
return;
}
CDialog::OnOK();
}