Files
gjm 164968b62e chore
把非utf8-bom编码的cpp/h文件改为 utf8 bom 编码, msvc识别utf8编码时,如果不是bom格式的,会使用当前cp_oem来解码.
2026-10-04 00:04:20 +08:00

193 lines
4.9 KiB
C++

#include "stdafx.h"
#include "KTInsulateExDlg.h"
#include "TJBWBRDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
KTInsulateExDlg::KTInsulateExDlg(CWnd* pParent /*=NULL*/)
: CDialog(KTInsulateExDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(KTInsulateExDlg)
m_sInsSpec = _T("");
m_sMaterial = _T("");
m_dInsThick = 20.0;
//}}AFX_DATA_INIT
m_pPipePar = NULL;
m_pADOServer = NULL;
}
void KTInsulateExDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(KTInsulateExDlg)
DDX_Control(pDX, IDC_LISTINS, m_wndListCtrl);
DDX_Text(pDX, IDC_EDITINSSPEC, m_sInsSpec);
DDX_Text(pDX, IDC_EDITMATERIAL, m_sMaterial);
DDX_Text(pDX, IDC_EDITINSTHICK, m_dInsThick);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(KTInsulateExDlg, CDialog)
//{{AFX_MSG_MAP(KTInsulateExDlg)
ON_NOTIFY(NM_CLICK, IDC_LISTINS, OnClickListins)
//}}AFX_MSG_MAP
ON_BN_CLICKED(IDC_BTADD, &KTInsulateExDlg::OnBnClickedBtadd)
END_MESSAGE_MAP()
BOOL KTInsulateExDlg::OnCommand(WPARAM wParam, LPARAM lParam)
{
WORD lWord = 0;
switch (LOWORD(wParam))
{
case IDOK:
case IDCANCEL:
{
return TRUE;
}
default:
break;
}
return CDialog::OnCommand(wParam, lParam);
}
void KTInsulateExDlg::OnClickListins(NMHDR* pNMHDR, LRESULT* pResult)
{
POSITION ps = m_wndListCtrl.GetFirstSelectedItemPosition();
if (ps != NULL)
{
int nItem = m_wndListCtrl.GetNextSelectedItem(ps);
CString sCode = m_wndListCtrl.GetItemText(nItem,0);
CString sDimT = m_wndListCtrl.GetItemText(nItem,1);
if (m_pPipePar != NULL)
{
_tcscpy(m_pPipePar->szInsTag,(LPCTSTR)sCode);
_tcscpy(m_pPipePar->szInsDim,(LPCTSTR)sDimT);
}
}
*pResult = 0;
}
BOOL KTInsulateExDlg::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,80);
m_wndListCtrl.InsertColumn(1,_T("标注文字"),LVCFMT_LEFT,80);
m_wndListCtrl.InsertColumn(2,_T("说明文字"),LVCFMT_LEFT,150);
InitInsDataFromDb();
if (m_pPipePar != NULL)
{
m_sInsSpec = m_pPipePar->szInsSpec;
m_sMaterial = m_pPipePar->szInsMateral;
m_dInsThick = m_pPipePar->m_dInsThk;
}
return TRUE;
}
void KTInsulateExDlg::UpdateParamDlgFromParam()
{
InitInsDataFromDb();
}
void KTInsulateExDlg::InitInsDataFromDb()
{
CString sSQL;
sSQL = _T("select [保温伴热代号],[标注文字],[说明文字] from AecHeat");
if (m_pADOServer != NULL)
{
KTValueTable table;
m_pADOServer->GetSelData(sSQL,table);
m_wndListCtrl.DeleteAllItems();
int nCount = 0,nPos = -1;
CStringArray arValues;
for (int i = 0;i < table.GetTableLogicSize();i++)
{
arValues.RemoveAll();
table.GetValueRecord(i,arValues);
if (arValues.GetSize() >= 3)
{
int nCount = m_wndListCtrl.GetItemCount();
m_wndListCtrl.InsertItem(nCount,arValues.GetAt(0),2);
m_wndListCtrl.SetItemText(nCount,1,arValues.GetAt(1));
m_wndListCtrl.SetItemText(nCount,2,arValues.GetAt(2));
if (arValues.GetAt(0).CompareNoCase(m_pPipePar->szInsTag) == 0)
{
nPos = i;
}
}
}
if (nPos == -1) nPos = 0;
m_wndListCtrl.SetItemState(nPos,LVIS_SELECTED,LVIS_SELECTED);
}
m_sInsSpec = m_pPipePar->szInsSpec;
m_sMaterial = m_pPipePar->szInsMateral;
m_dInsThick = m_pPipePar->m_dInsThk;
UpdateData(FALSE);
}
BOOL KTInsulateExDlg::UpdateDataEx()
{
UpdateData();
_tcscpy(m_pPipePar->szInsSpec,(LPCTSTR)m_sInsSpec);
_tcscpy(m_pPipePar->szInsMateral,(LPCTSTR)m_sMaterial);
m_pPipePar->m_dInsThk = m_dInsThick;
_tcscpy(m_pPipePar->szInsMtr, (LPCTSTR)m_sMaterial);
POSITION ps = m_wndListCtrl.GetFirstSelectedItemPosition();
if (ps != NULL)
{
int nItem = m_wndListCtrl.GetNextSelectedItem(ps);
CString sCode = m_wndListCtrl.GetItemText(nItem,0);
CString sDimT = m_wndListCtrl.GetItemText(nItem,1);
if (m_pPipePar != NULL)
{
_tcscpy(m_pPipePar->szInsTag,(LPCTSTR)sCode);
_tcscpy(m_pPipePar->szInsDim,(LPCTSTR)sDimT);
}
}
return TRUE;
}
void KTInsulateExDlg::OnBnClickedBtadd()
{
CTJBWBRDlg dlg;
if (IDOK == dlg.DoModal())
{
CString sSQL;
sSQL.Format(_T("select [保温伴热代号],[说明文字],[标注文字] from AecHeat"));
CStringList lstVals;
m_pADOServer->GetSelData(sSQL,lstVals);
if ( lstVals.Find(dlg.m_sCode) != NULL ||
lstVals.Find(dlg.m_sRemTxt) != NULL ||
lstVals.Find(dlg.m_sDimTxt) != NULL)
{
AfxMessageBox(_T("输入的保温伴热代号或说明文字或标注文字已经存在!"));
return;
}
sSQL.Format(_T("insert into AecHeat ([保温伴热代号],[说明文字],[标注文字]) values ('%s','%s','%s')"),dlg.m_sCode,dlg.m_sRemTxt,dlg.m_sDimTxt);
m_pADOServer->ExecuteSQL(sSQL);
int i = m_wndListCtrl.GetItemCount();
m_wndListCtrl.InsertItem(i,dlg.m_sCode,2);
m_wndListCtrl.SetItemText(i,1,dlg.m_sDimTxt);
m_wndListCtrl.SetItemText(i,2,dlg.m_sRemTxt);
}
}