#include "stdafx.h" #include "EarThwormDef.h" #include "KTDimScriptDlg.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif KTDimScriptDlg::KTDimScriptDlg(CWnd* pParent /*=NULL*/) : CDialog(KTDimScriptDlg::IDD, pParent) { //{{AFX_DATA_INIT(KTDimScriptDlg) //}}AFX_DATA_INIT } void KTDimScriptDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(KTDimScriptDlg) DDX_Control(pDX, IDC_BTNULLSEL, m_wndBtUnAllSel); DDX_Control(pDX, IDC_BTONEUNSEL, m_wndBtUnSel); DDX_Control(pDX, IDC_BTALLSEL, m_wndBtAllSel); DDX_Control(pDX, IDC_BTONESEL, m_wndBtSel); DDX_Control(pDX, IDC_LISTRESULT, m_wndResultList); DDX_Control(pDX, IDC_LISTSELITEMS, m_wndSelList); DDX_Control(pDX, IDC_LISTSRCITEMS, m_wndSrcList); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(KTDimScriptDlg, CDialog) //{{AFX_MSG_MAP(KTDimScriptDlg) ON_BN_CLICKED(IDC_BTONESEL, OnBtonesel) ON_BN_CLICKED(IDC_BTONEUNSEL, OnBtoneunsel) ON_BN_CLICKED(IDC_BTALLSEL, OnBtallsel) ON_BN_CLICKED(IDC_BTNULLSEL, OnBtnullsel) ON_BN_CLICKED(IDC_BTMOVEUP, OnBtmoveup) ON_BN_CLICKED(IDC_BTMOVEDOWN, OnBtmovedown) //}}AFX_MSG_MAP END_MESSAGE_MAP() void KTDimScriptDlg::SetPipeDimScript(CString& sScript) { m_sDimScript = sScript; } void KTDimScriptDlg::GetPipeDimScript(CString& sScript) { sScript = m_sDimScript; } BOOL KTDimScriptDlg::OnInitDialog() { CDialog::OnInitDialog(); m_ImageList.Create(IDB_BITMAPH,1,1,ILC_COLOR16); m_wndResultList.SetImageList(&m_ImageList,LVSIL_SMALL); m_wndResultList.SetExtendedStyle(LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT); InitSpecSet(); return TRUE; } void KTDimScriptDlg::OnBtonesel() { int nCount = m_wndSrcList.GetSelCount(); CArray arIntsSel; arIntsSel.SetSize(nCount); m_wndSrcList.GetSelItems(nCount, arIntsSel.GetData()); int nIndex = 0; CString sText; CStringArray arTexts; for(int i = 0;i < nCount;i++) { nIndex = arIntsSel.GetAt(i); m_wndSrcList.GetText(nIndex,sText); m_wndSelList.AddString(sText); arTexts.Add(sText); } for(i = 0;i arIntsSel; arIntsSel.SetSize(nCount); m_wndSelList.GetSelItems(nCount, arIntsSel.GetData()); int nIndex = 0; CString sText; CStringArray arTexts; for(int i = 0;i < nCount;i++) { nIndex = arIntsSel.GetAt(i); m_wndSelList.GetText(nIndex,sText); m_wndSrcList.AddString(sText); arTexts.Add(sText); } for(i = 0;i 0) { CString sCurText,sUpText; m_wndSelList.GetText(nCursel,sCurText); m_wndSelList.GetText(nCursel - 1,sUpText); arText.SetAt(nCursel,sUpText); arText.SetAt(nCursel - 1,sCurText); m_wndSelList.ResetContent(); for(i = 0;iGetItemCount(); m_wndResultList.InsertColumn(nCount,_T("条目"),LVCFMT_LEFT,60); if (j < arItems.GetSize() - 1) { m_wndResultList.InsertColumn(nCount + 1,_T("间隔"),LVCFMT_CENTER,40); m_wndResultList.SetColumnItemData(nCount + 1,NULL,ET_Edit); } } if (nSize > 0) { m_wndResultList.InsertItem(0,arItems.GetAt(0),0); for(i = 1;i < nSize;i++) { m_wndResultList.SetItemText(0, 2 * i,arItems.GetAt(i)); } nSize = arSpaces.GetSize(); for(j = 0;j < nSize;j++) { m_wndResultList.SetItemText(0,2 * j + 1,arSpaces.GetAt(j)); } } } void KTDimScriptDlg::UpdateResultList() { m_wndResultList.DeleteAllItems(); while(m_wndResultList.DeleteColumn(0)); int nCount = m_wndSelList.GetCount(); if (nCount == 0) return; int nItems = 0; for(int i = 0;i < nCount;i++) { nItems = m_wndResultList.GetHeaderCtrl()->GetItemCount(); m_wndResultList.InsertColumn(nItems,_T("条目"),LVCFMT_LEFT,60); if (i < nCount - 1) { m_wndResultList.InsertColumn(nItems + 1,_T("间隔"),LVCFMT_CENTER,40); m_wndResultList.SetColumnItemData(nItems + 1,NULL,ET_Edit); } } CString sText; m_wndSelList.GetText(0,sText); m_wndResultList.InsertItem(0,sText,0); for(i = 1;i < nCount;i++) { m_wndSelList.GetText(i,sText); m_wndResultList.SetItemText(0,2*i,sText); m_wndResultList.SetItemText(0,2*i - 1,_T("-")); } } BOOL KTDimScriptDlg::FormatDimScript() { //{公称直径}{-}{介质}{-}{管号}{-}{管道等级} CString sText,sItem = ""; int nCount = m_wndResultList.GetHeaderCtrl()->GetItemCount(); for(int i = 0;i < nCount;i++) { sText = m_wndResultList.GetItemText(0,i); if (sText.IsEmpty()) sText = _T("-"); sItem += "{"; sItem += sText; sItem += "}"; } m_sDimScript = sItem; return nCount > 0; }