263 lines
5.6 KiB
C++
263 lines
5.6 KiB
C++
// ValveDlg.cpp : implementation file
|
|
//
|
|
|
|
#include "StdAfx.h"
|
|
#include "resource.h"
|
|
#include "ValveDlg.h"
|
|
|
|
#ifdef _DEBUG
|
|
#define new DEBUG_NEW
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[] = __FILE__;
|
|
#endif
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CValveDlg dialog
|
|
|
|
|
|
CValveDlg::CValveDlg(CWnd* pParent /*=NULL*/)
|
|
: CDialog(CValveDlg::IDD, pParent)
|
|
{
|
|
//{{AFX_DATA_INIT(CValveDlg)
|
|
m_sLineno = _T("");
|
|
m_sValvename = _T("");
|
|
m_nInterF = 0;
|
|
m_sValveType = _T("");
|
|
m_dScale = 0.0;
|
|
//}}AFX_DATA_INIT
|
|
}
|
|
|
|
|
|
void CValveDlg::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
//{{AFX_DATA_MAP(CValveDlg)
|
|
DDX_Control(pDX, IDC_LIST1, m_CLsValve);
|
|
DDX_Control(pDX, IDC_COMBO2, m_CDn);
|
|
DDX_Control(pDX, IDC_COMBO1, m_CSpec);
|
|
DDX_Text(pDX, IDC_EDIT1, m_sLineno);
|
|
DDX_Text(pDX, IDC_EDIT2, m_sValvename);
|
|
DDX_Radio(pDX, IDC_RADIOBW, m_nInterF);
|
|
DDX_Text(pDX, IDC_EDIT3, m_sValveType);
|
|
DDX_Text(pDX, IDC_EDIT4, m_dScale);
|
|
//}}AFX_DATA_MAP
|
|
}
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CValveDlg, CDialog)
|
|
//{{AFX_MSG_MAP(CValveDlg)
|
|
ON_NOTIFY(NM_CLICK, IDC_LIST1, OnClickList1)
|
|
ON_CBN_SELENDOK(IDC_COMBO1, OnSelendokCombo1)
|
|
ON_CBN_SELENDOK(IDC_COMBO2, OnSelendokCombo2)
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CValveDlg message handlers
|
|
|
|
void CValveDlg::OnOK()
|
|
{
|
|
// TODO: Add extra validation here
|
|
|
|
CDialog::OnOK();
|
|
}
|
|
|
|
void CValveDlg::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult)
|
|
{
|
|
POSITION pos = m_CLsValve.GetFirstSelectedItemPosition();
|
|
if (pos == NULL)
|
|
{
|
|
AfxMessageBox(_T("没有行选中"));
|
|
}
|
|
else
|
|
{
|
|
int nItem = m_CLsValve.GetNextSelectedItem(pos);
|
|
m_sValvename=m_CLsValve.GetItemText(nItem,1);
|
|
m_sFace=m_CLsValve.GetItemText(nItem,2);
|
|
m_dPress=_ttof(m_CLsValve.GetItemText(nItem,3));
|
|
}
|
|
*pResult = 0;
|
|
UpdateData(FALSE);
|
|
}
|
|
|
|
void CValveDlg::OnSelendokCombo1()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
m_CSpec.GetLBText(m_CSpec.GetCurSel(),m_sSpec);
|
|
ValveList();
|
|
}
|
|
|
|
void CValveDlg::OnSelendokCombo2()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
m_CDn.GetLBText(m_CDn.GetCurSel(),m_sDn);
|
|
ValveList();
|
|
}
|
|
void CValveDlg::SetADOServer(CUIISQLiteServer * pADOServer)
|
|
{
|
|
this->m_pADOServer = pADOServer;
|
|
}
|
|
|
|
BOOL CValveDlg::OnInitDialog()
|
|
{
|
|
CDialog::OnInitDialog();
|
|
|
|
|
|
// HBITMAP hmp;
|
|
CButton * pPicture;
|
|
|
|
m_Bitmap.LoadBitmap(IDB_ValveBW);
|
|
pPicture = (CButton *)GetDlgItem(IDC_RADIOBW);
|
|
pPicture->SetBitmap((HBITMAP)m_Bitmap);
|
|
|
|
m_Bitmap1.LoadBitmap(IDB_ValveFG);
|
|
pPicture = (CButton *)GetDlgItem(IDC_RADIOFG);
|
|
pPicture->SetBitmap((HBITMAP)m_Bitmap1);
|
|
|
|
m_Bitmap2.LoadBitmap(IDB_ValveSW);
|
|
pPicture = (CButton *)GetDlgItem(IDC_RADIOSW);
|
|
pPicture->SetBitmap((HBITMAP)m_Bitmap2);
|
|
|
|
|
|
ComboxSpec();
|
|
ComboxDn();
|
|
|
|
//传入阀门数据
|
|
CString sSQL,sText;
|
|
m_CLsValve.SetExtendedStyle(LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT);
|
|
m_CLsValve.InsertColumn(0,_T("直径"),LVCFMT_LEFT,50,100);
|
|
m_CLsValve.InsertColumn(1,_T("类型"),LVCFMT_LEFT,100,100);
|
|
m_CLsValve.InsertColumn(2,_T("端面"),LVCFMT_LEFT,50,100);
|
|
m_CLsValve.InsertColumn(3,_T("压力"),LVCFMT_LEFT,50,100);
|
|
m_CLsValve.InsertColumn(4,_T("描述"),LVCFMT_LEFT,150,100);
|
|
|
|
ValveList();
|
|
SetWindowText(m_sValveType);
|
|
|
|
m_sDn.TrimRight(_T('.'));
|
|
int nSel = m_CDn.FindString(0, m_sDn);
|
|
if (nSel != -1)
|
|
{
|
|
m_CDn.SetCurSel(nSel);
|
|
}
|
|
return TRUE;
|
|
}
|
|
|
|
void CValveDlg::ValveList()
|
|
{
|
|
|
|
CString sSQL,sText;
|
|
CStringArray arValue;
|
|
int nCount=0;
|
|
CUIIValueTable valueTable;
|
|
m_CLsValve.DeleteAllItems();
|
|
|
|
sSQL.Format (_T("SELECT [公称直径],[类型],[端面],[压力],[描述] FROM [AecSpecValve] where 项目名称='%s' and 等级名称='%s' and 公称直径=%d and 类别='%s'"),m_sProname,m_sSpec,_ttoi(m_sDn),m_sValveType);
|
|
|
|
m_pADOServer->GetSelData(sSQL,valueTable,TRUE);
|
|
|
|
nCount = valueTable.GetTableLogicSize();
|
|
|
|
int i = 0,nSize = 0,j = 0;
|
|
|
|
for(i = 0;i<nCount;i++)
|
|
{
|
|
arValue.RemoveAll();
|
|
valueTable.GetValueRecord(i,arValue);
|
|
|
|
nSize = arValue.GetSize();
|
|
|
|
for(j = 0;j<nSize;j++)
|
|
{
|
|
sText = arValue.GetAt(j);
|
|
if(j == 0)
|
|
{
|
|
this->m_CLsValve.InsertItem(i,sText);
|
|
}
|
|
else
|
|
{
|
|
this->m_CLsValve.SetItemText(i,j,sText);
|
|
}
|
|
}
|
|
if (0 == i)
|
|
{
|
|
m_CLsValve.SetItemState(i,LVIS_SELECTED,LVIS_SELECTED);
|
|
valueTable.GetValueRecord(i,arValue);
|
|
m_sValvename = arValue.GetAt(1);
|
|
UpdateData(FALSE);
|
|
}
|
|
}
|
|
valueTable.RemoveAll();
|
|
|
|
}
|
|
void CValveDlg::ComboxSpec()
|
|
|
|
{
|
|
|
|
CString sSQL=_T(""),sText=_T("");
|
|
CStringArray arValue;
|
|
int nCount=0;
|
|
CUIIValueTable valueTable;
|
|
|
|
//传入等级数据
|
|
|
|
sSQL.Format(_T("SELECT [等级名称] FROM [AecSpecname] where [项目名称]='%s' order by [等级名称]"),m_sProname);
|
|
|
|
|
|
valueTable.RemoveAll();
|
|
m_pADOServer->GetSelData(sSQL,valueTable,TRUE);
|
|
|
|
nCount = valueTable.GetTableLogicSize();
|
|
|
|
m_CSpec.ResetContent();
|
|
|
|
for(int i = 0;i<nCount;i++)
|
|
{
|
|
arValue.RemoveAll();
|
|
valueTable.GetValueRecord(i,arValue);
|
|
sText = arValue.GetAt(0);
|
|
m_CSpec.AddString(sText);
|
|
}
|
|
valueTable.RemoveAll();
|
|
if (nCount!=0)
|
|
{
|
|
this->m_CSpec.SetCurSel(m_CSpec.FindString(-1,m_sSpec));
|
|
}
|
|
|
|
}
|
|
void CValveDlg::ComboxDn()
|
|
|
|
{
|
|
|
|
CString sSQL=_T(""),sText=_T("");
|
|
CStringArray arValue;
|
|
int nCount=0;
|
|
CUIIValueTable valueTable;
|
|
|
|
//传入等级数据
|
|
|
|
sSQL.Format(_T("SELECT [公制] FROM [AecDn] order by [公制]"));
|
|
|
|
|
|
valueTable.RemoveAll();
|
|
m_pADOServer->GetSelData(sSQL,valueTable,TRUE);
|
|
|
|
nCount = valueTable.GetTableLogicSize();
|
|
|
|
m_CDn.ResetContent();
|
|
|
|
for(int i = 0;i<nCount;i++)
|
|
{
|
|
arValue.RemoveAll();
|
|
valueTable.GetValueRecord(i,arValue);
|
|
sText = arValue.GetAt(0);
|
|
m_CDn.AddString(sText);
|
|
}
|
|
valueTable.RemoveAll();
|
|
if (nCount!=0)
|
|
{
|
|
this->m_CDn.SetCurSel(m_CDn.FindString(-1,m_sDn));
|
|
}
|
|
|
|
}
|