#include "stdafx.h" #include "KTPipeLineNoDlg.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif KTPipeLineNoDlg::KTPipeLineNoDlg(CWnd* pParent /*=NULL*/) : CDialog(KTPipeLineNoDlg::IDD, pParent) { //{{AFX_DATA_INIT(KTPipeLineNoDlg) m_sPipeLineNo = _T("2000"); m_sLineNo = _T(""); //}}AFX_DATA_INIT m_pADOServer = NULL; } void KTPipeLineNoDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(KTPipeLineNoDlg) DDX_Control(pDX, IDC_MEDIUMLIST, m_wndListCtrl); DDX_Text(pDX, IDC_PIPELINENO, m_sPipeLineNo); DDX_Text(pDX, IDC_LINENO, m_sLineNo); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(KTPipeLineNoDlg, CDialog) //{{AFX_MSG_MAP(KTPipeLineNoDlg) ON_EN_CHANGE(IDC_PIPELINENO, OnChangePipelineno) ON_NOTIFY(NM_CLICK, IDC_MEDIUMLIST, OnClickMediumlist) //}}AFX_MSG_MAP END_MESSAGE_MAP() BOOL KTPipeLineNoDlg::OnInitDialog() { CDialog::OnInitDialog(); m_ImageList.Create(IDB_BITMAPPIPE,16,1,ILC_COLOR16); m_wndListCtrl.SetExtendedStyle(LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT); m_wndListCtrl.SetImageList(&m_ImageList,LVSIL_SMALL); m_wndListCtrl.InsertColumn(0,_T("介质"),LVCFMT_LEFT,120,100); m_wndListCtrl.InsertColumn(1,_T("描述"),LVCFMT_LEFT,220,100); InitMediumFromDb(); FormatLineNo(); return TRUE; } void KTPipeLineNoDlg::OnOK() { UpdateData(); m_sPipeLineNo.TrimLeft(); m_sPipeLineNo.TrimRight(); if (m_sPipeLineNo.IsEmpty()) { AfxMessageBox(_T("顺序号不能为空,请输入顺序号!")); return; } POSITION ps = m_wndListCtrl.GetFirstSelectedItemPosition(); if (ps == NULL) { AfxMessageBox(_T("请选择介质记录!")); return; } int nSel = m_wndListCtrl.GetNextSelectedItem(ps); m_sMedia = m_wndListCtrl.GetItemText(nSel,0); CDialog::OnOK(); } BOOL KTPipeLineNoDlg::InitMediumFromDb() { if (m_pADOServer != NULL) { int nSel = 0; //1。介质描述 CUIIValueTable table; CString sSQL,sText,sDescr; sSQL = _T("select [介质代号],[介质] from AecFluid order by ID"); m_pADOServer->GetSelData(sSQL,table); int nCount = table.GetTableLogicSize(); int i = 0,nSize = 0; CStringArray arValue; for(i = 0;im_wndListCtrl.InsertItem(i,sText,0); this->m_wndListCtrl.SetItemText(i,1,sDescr); } this->m_wndListCtrl.SetItemState(0,LVIS_SELECTED,LVIS_SELECTED); m_wndListCtrl.EnsureVisible(0,FALSE); return TRUE; } return FALSE; } void KTPipeLineNoDlg::OnChangePipelineno() { UpdateData(); FormatLineNo(); } void KTPipeLineNoDlg::OnClickMediumlist(NMHDR* pNMHDR, LRESULT* pResult) { UpdateData(TRUE); FormatLineNo(); *pResult = 0; } void KTPipeLineNoDlg::FormatLineNo() { POSITION ps = m_wndListCtrl.GetFirstSelectedItemPosition(); if (ps != NULL) { int nItem = m_wndListCtrl.GetNextSelectedItem(ps); if (nItem != -1) { m_sLineNo = m_wndListCtrl.GetItemText(nItem,0) + _T("-") + m_sPipeLineNo; } } UpdateData(FALSE); }