712 lines
15 KiB
C++
712 lines
15 KiB
C++
#include "stdafx.h"
|
|
#include "CGZDJDlg.h"
|
|
#include "KTSetting.h"
|
|
#include "CHFSetDlg.h"
|
|
|
|
IMPLEMENT_DYNAMIC(CGZDJDlg, CDialog)
|
|
|
|
CGZDJDlg::CGZDJDlg(CWnd* pParent /*=NULL*/)
|
|
: CDialog(IDD_GZDJ_DLG, pParent)
|
|
, m_n2DStyle(1)
|
|
{
|
|
m_nPipeCp = 1;
|
|
m_bHasPipeCp = TRUE;
|
|
m_dDNOn = 80;
|
|
m_sName = _T("");
|
|
m_nMode = 0;
|
|
m_dDNMin = 0;
|
|
}
|
|
|
|
CGZDJDlg::~CGZDJDlg()
|
|
{
|
|
}
|
|
|
|
void CGZDJDlg::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
DDX_Control(pDX, IDC_COMBO1, m_wndCombList);
|
|
DDX_Control(pDX, IDC_STATICVIEW, m_wndPreview);
|
|
DDX_Control(pDX, IDC_LIST2, m_wndListHld);
|
|
DDX_Control(pDX, IDC_LIST3, m_wndListPCP);
|
|
DDX_Radio(pDX, IDC_RADIO1, m_nPipeCp);
|
|
DDX_Check(pDX, IDC_CHECK1, m_bHasPipeCp);
|
|
DDX_Control(pDX, IDC_RADIO4, m_wndBT2D1);
|
|
DDX_Control(pDX, IDC_RADIO5, m_wndBT2D2);
|
|
DDX_Control(pDX, IDC_RADIO6, m_wndBT2D3);
|
|
DDX_Radio(pDX, IDC_RADIO4, m_n2DStyle);
|
|
}
|
|
|
|
BEGIN_MESSAGE_MAP(CGZDJDlg, CDialog)
|
|
ON_BN_CLICKED(IDOK, &CGZDJDlg::OnBnClickedOk)
|
|
ON_BN_CLICKED(IDC_RADIO1, &CGZDJDlg::OnBnClickedRadio1)
|
|
ON_BN_CLICKED(IDC_RADIO2, &CGZDJDlg::OnBnClickedRadio2)
|
|
ON_BN_CLICKED(IDC_RADIO3, &CGZDJDlg::OnBnClickedRadio3)
|
|
ON_BN_CLICKED(IDCANCEL, &CGZDJDlg::OnBnClickedCancel)
|
|
ON_WM_SIZE()
|
|
ON_WM_SIZING()
|
|
ON_CBN_SELCHANGE(IDC_COMBO1, &CGZDJDlg::OnCbnSelchangeCombo1)
|
|
ON_NOTIFY(NM_DBLCLK, IDC_LIST2, &CGZDJDlg::OnNMDblclkList2)
|
|
ON_BN_CLICKED(IDC_BUTTONHF, &CGZDJDlg::OnBnClickedButtonhf)
|
|
ON_BN_CLICKED(IDC_BUTTONHF2, &CGZDJDlg::OnBnClickedButtonhf2)
|
|
ON_BN_CLICKED(IDC_BUTTON1, &CGZDJDlg::OnBnClickedButton1)
|
|
ON_BN_CLICKED(IDC_BUTTON2, &CGZDJDlg::OnBnClickedButton2)
|
|
END_MESSAGE_MAP()
|
|
|
|
BOOL CGZDJDlg::OnInitDialog()
|
|
{
|
|
CDialog::OnInitDialog();
|
|
|
|
m_wndListHld.SetExtendedStyle(LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT | LVS_EX_SINGLEROW);
|
|
m_wndListPCP.SetExtendedStyle(LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT | LVS_EX_SINGLEROW);
|
|
|
|
ShowHolderList();
|
|
OnBnClickedRadio2();
|
|
|
|
GetClientRect(&m_rcDefault);
|
|
m_szDefault.SetSize(m_rcDefault.Width(), m_rcDefault.Height());
|
|
|
|
m_bmp2D1.LoadBitmap(IDB_BITMAP_2D1);
|
|
m_wndBT2D1.SetBitmap(m_bmp2D1);
|
|
|
|
m_bmp2D2.LoadBitmap(IDB_BITMAP_2D2);
|
|
m_wndBT2D2.SetBitmap(m_bmp2D2);
|
|
|
|
m_bmp2D3.LoadBitmap(IDB_BITMAP_2D3);
|
|
m_wndBT2D3.SetBitmap(m_bmp2D3);
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
void CGZDJDlg::ShowHolderList()
|
|
{
|
|
CString sFolder,sPath, sLn,sJpg,sName;
|
|
KTSetting::GetKTPsPath(sFolder);
|
|
|
|
sPath.Format(_T("%s%s%d.txt"), sFolder,_T("Support\\Holder\\Holder"),m_nMode);
|
|
|
|
int nCurSel = -1;
|
|
CStdioFile file;
|
|
if (file.Open(sPath, CFile::modeRead | CFile::typeText))
|
|
{
|
|
int nPos = -1, nItem = -1;
|
|
while (file.ReadString(sLn))
|
|
{
|
|
nPos = sLn.Find(_T('/'));
|
|
if (nPos != -1)
|
|
{
|
|
sName = sLn.Mid(0, nPos);
|
|
sJpg = sLn.Mid(nPos + 1);
|
|
|
|
//no sort!!
|
|
nItem = m_wndCombList.AddString(sName);
|
|
m_arJPGFiles.Add(sJpg);
|
|
|
|
if (m_sName.CompareNoCase(sName) == 0)
|
|
nCurSel = nItem;
|
|
}
|
|
}
|
|
file.Close();
|
|
}
|
|
|
|
sPath = sFolder + _T("Support\\Holder\\Holder.db");
|
|
m_db.InitADOServer(sPath);
|
|
|
|
if (nCurSel != -1)
|
|
{
|
|
m_wndCombList.SetCurSel(nCurSel);
|
|
OnCbnSelchangeCombo1();
|
|
}
|
|
}
|
|
|
|
BOOL CGZDJDlg::MakeSureDNisRight(CListCtrl* pListCtrl)
|
|
{
|
|
//变量
|
|
POSITION ps = pListCtrl->GetFirstSelectedItemPosition();
|
|
if (ps != NULL)
|
|
{
|
|
int iItem = pListCtrl->GetNextSelectedItem(ps);
|
|
if (iItem != -1)
|
|
{
|
|
HDITEM hdItem;
|
|
hdItem.mask = HDI_TEXT;
|
|
TCHAR szCol[MAX_PATH];
|
|
hdItem.pszText = szCol;
|
|
hdItem.cchTextMax = MAX_PATH;
|
|
|
|
CString sCol, sVal,sTip;
|
|
for (int n = 0; n < pListCtrl->GetHeaderCtrl()->GetItemCount(); n++)
|
|
{
|
|
pListCtrl->GetHeaderCtrl()->GetItem(n, &hdItem);
|
|
if (_tcscmp(szCol, _T("DN")) == 0)
|
|
{
|
|
sVal = pListCtrl->GetItemText(iItem, n);
|
|
if (fabs(m_dDNOn - _ttof(sVal)) > 1.0)
|
|
{
|
|
sTip.Format(_T("请选择公称直径为 %d 管架数据行或需要的管卡数据行!"), (int)(m_dDNOn + 0.5));
|
|
AfxMessageBox(sTip);
|
|
return FALSE;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
AfxMessageBox(_T("请选择管架数据行或需要的管卡数据行!"));
|
|
return FALSE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
AfxMessageBox(_T("请选择管架数据行或需要的管卡数据行!"));
|
|
return FALSE;
|
|
}
|
|
return TRUE;
|
|
}
|
|
|
|
void CGZDJDlg::FilltoXData(CListCtrl* pListCtrl)
|
|
{
|
|
//变量
|
|
POSITION ps = pListCtrl->GetFirstSelectedItemPosition();
|
|
if (ps != NULL)
|
|
{
|
|
int iItem = pListCtrl->GetNextSelectedItem(ps);
|
|
if (iItem != -1)
|
|
{
|
|
HDITEM hdItem;
|
|
hdItem.mask = HDI_TEXT;
|
|
TCHAR szCol[MAX_PATH];
|
|
hdItem.pszText = szCol;
|
|
hdItem.cchTextMax = MAX_PATH;
|
|
|
|
CString sCol, sVal;
|
|
for (int n = 0; n < pListCtrl->GetHeaderCtrl()->GetItemCount(); n++)
|
|
{
|
|
pListCtrl->GetHeaderCtrl()->GetItem(n, &hdItem);
|
|
sVal = pListCtrl->GetItemText(iItem, n);
|
|
sCol = szCol;
|
|
|
|
m_xData.SetAt(sCol, _ttof(sVal));
|
|
}
|
|
}
|
|
else
|
|
{
|
|
AfxMessageBox(_T("请选择管架数据行!"));
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
|
|
void CGZDJDlg::FilltoXData2(CListCtrl *pListCtrl)
|
|
{
|
|
HDITEM hdItem;
|
|
hdItem.mask = HDI_TEXT;
|
|
TCHAR szCol[MAX_PATH];
|
|
hdItem.pszText = szCol;
|
|
hdItem.cchTextMax = MAX_PATH;
|
|
|
|
int nDNCol = -1;
|
|
CString sCol, sVal, sDN;
|
|
for (int n = 0; n < pListCtrl->GetHeaderCtrl()->GetItemCount(); n++)
|
|
{
|
|
pListCtrl->GetHeaderCtrl()->GetItem(n, &hdItem);
|
|
if (_tcscmp(szCol, _T("DN")) == 0)
|
|
{
|
|
nDNCol = n;
|
|
break;
|
|
}
|
|
}
|
|
|
|
int nDNMin = (int)(m_dDNMin + 0.5);
|
|
|
|
int nCount = pListCtrl->GetItemCount();
|
|
for (int i = 0;i < nCount;i++)
|
|
{
|
|
sDN = pListCtrl->GetItemText(i, nDNCol);
|
|
|
|
if (nDNMin == _ttoi(sDN) )//定位到
|
|
{
|
|
CString sCol;
|
|
for (int n = 0; n < pListCtrl->GetHeaderCtrl()->GetItemCount(); n++)
|
|
{
|
|
pListCtrl->GetHeaderCtrl()->GetItem(n, &hdItem);
|
|
|
|
sVal = pListCtrl->GetItemText(i, n);
|
|
sCol = szCol;
|
|
sCol += _T("#");
|
|
|
|
m_xData.SetAt(sCol, _ttof(sVal));
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
#ifndef KEY_NAME
|
|
#define KEY_NAME _T("NAME")
|
|
#endif
|
|
|
|
#ifndef KEY_MODE
|
|
#define KEY_MODE _T("MODE")
|
|
#endif
|
|
|
|
#ifndef KEY_2DStyle
|
|
#define KEY_2DStyle _T("2dStl")
|
|
#endif
|
|
|
|
void CGZDJDlg::OnBnClickedOk()
|
|
{
|
|
UpdateData();
|
|
|
|
int nSel = m_wndCombList.GetCurSel();
|
|
if (nSel != -1)
|
|
{
|
|
//64.jpg
|
|
CString sJpg = m_arJPGFiles.GetAt(nSel);
|
|
m_wndCombList.GetLBText(nSel,m_sName);
|
|
|
|
CString sScrFile = sJpg;
|
|
sScrFile.MakeUpper();
|
|
sScrFile.Replace(_T("JPG"), _T("pms"));
|
|
|
|
CString sPNo;
|
|
int nPos = sScrFile.ReverseFind(_T('.'));
|
|
if (nPos != -1)
|
|
{
|
|
sPNo = sScrFile.Mid(0, nPos);
|
|
m_xData.SetAt(_T("PAGENO"), sPNo);
|
|
}
|
|
|
|
CString sFolder;
|
|
KTSetting::GetKTPsPath(sFolder);
|
|
|
|
m_sScrFullPathFile.Format(_T("%sSupport\\Holder\\%s"), sFolder,sScrFile);
|
|
}
|
|
else
|
|
{
|
|
AfxMessageBox(_T("请选择管架类型!"));
|
|
return;
|
|
}
|
|
|
|
if (!MakeSureDNisRight(&m_wndListHld))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if (m_bHasPipeCp && !MakeSureDNisRight(&m_wndListPCP))
|
|
{
|
|
return;
|
|
}
|
|
|
|
FilltoXData(&m_wndListHld);
|
|
|
|
if (m_bHasPipeCp)
|
|
{
|
|
FilltoXData(&m_wndListPCP);
|
|
|
|
if (m_dDNMin > 5.0)
|
|
{
|
|
FilltoXData2(&m_wndListPCP);
|
|
}
|
|
}
|
|
m_xData.SetAt(KEY_NAME, m_sName);
|
|
m_xData.SetAt(KEY_MODE, m_nMode);
|
|
m_xData.SetAt(KEY_2DStyle, m_n2DStyle);
|
|
CDialog::OnOK();
|
|
}
|
|
|
|
BOOL CGZDJDlg::GetHolderData(CString &sName,AecDbObjXDataMap &mpData, CString &sScrFullPathFile)
|
|
{
|
|
mpData.AppendFrom(&m_xData);
|
|
sScrFullPathFile = m_sScrFullPathFile;
|
|
sName = m_sName;
|
|
return TRUE;
|
|
}
|
|
|
|
void CGZDJDlg::OnCbnSelchangeCombo1()
|
|
{
|
|
int nSel = m_wndCombList.GetCurSel();
|
|
if (nSel != -1)
|
|
{
|
|
CString sJpg = m_arJPGFiles.GetAt(nSel);
|
|
|
|
CString sPath;
|
|
KTSetting::GetKTPsPath(sPath);
|
|
sPath += _T("Support\\Holder\\");
|
|
sPath += sJpg;
|
|
|
|
ShowDataTable(sJpg);
|
|
|
|
m_wndPreview.ShowJPG(sPath);
|
|
m_wndPreview.Invalidate();
|
|
m_wndPreview.RedrawWindow();
|
|
}
|
|
}
|
|
|
|
void CGZDJDlg::ShowToListCtrl(CString& sSQL, CListCtrl * pm_wndList)
|
|
{
|
|
if (pm_wndList == NULL)
|
|
return;
|
|
|
|
pm_wndList->DeleteAllItems();
|
|
pm_wndList->GetHeaderCtrl();
|
|
while (pm_wndList->GetHeaderCtrl()->GetItemCount() > 0)
|
|
{
|
|
pm_wndList->GetHeaderCtrl()->DeleteItem(0);
|
|
}
|
|
|
|
CUIIValueTable tbl;
|
|
m_db.GetSelData(sSQL, tbl);
|
|
|
|
if (tbl.GetTableLogicSize() > 0)
|
|
{
|
|
CStringArray arFilds;
|
|
tbl.GetLableRecord(arFilds);
|
|
|
|
int iDN = -1;
|
|
CString sDN;
|
|
for (int i = 0; i < arFilds.GetSize(); i++)
|
|
{
|
|
sDN = arFilds.GetAt(i);
|
|
if (sDN.CompareNoCase(_T("DN")) == 0)
|
|
iDN = i;
|
|
pm_wndList->InsertColumn(i, arFilds.GetAt(i), LVCFMT_LEFT, 100);
|
|
}
|
|
|
|
CStringArray arVals;
|
|
for (int i = 0; i < tbl.GetTableLogicSize(); i++)
|
|
{
|
|
arVals.RemoveAll();
|
|
tbl.GetValueRecord(i, arVals);
|
|
|
|
if (!arVals.IsEmpty())
|
|
{
|
|
pm_wndList->InsertItem(i, arVals.GetAt(0));
|
|
for (int j = 1; j < arVals.GetSize(); j++)
|
|
{
|
|
pm_wndList->SetItemText(i, j, arVals.GetAt(j));
|
|
}
|
|
}
|
|
|
|
if (iDN != -1)
|
|
{
|
|
sDN = pm_wndList->GetItemText(i, iDN);
|
|
if (_ttoi(sDN) == (int)(m_dDNOn + 0.5))
|
|
{
|
|
pm_wndList->SetItemState(i, LVIS_SELECTED, LVIS_SELECTED);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
void CGZDJDlg::ShowDataTable(CString& sJpg)
|
|
{
|
|
//64.JPG
|
|
int nPos = sJpg.Find(_T('.'));
|
|
if (nPos != -1)
|
|
{
|
|
CString sName = sJpg.Mid(0, nPos);
|
|
|
|
CString sTbl;
|
|
sTbl.Format(_T("P%s"), sJpg.Mid(0, nPos));
|
|
|
|
CString sSQL;
|
|
sSQL.Format(_T("select * from %s"),sTbl);
|
|
|
|
ShowToListCtrl(sSQL, &m_wndListHld);
|
|
}
|
|
}
|
|
|
|
void CGZDJDlg::ShowPipeCp()
|
|
{
|
|
//0 保温 1 不保温 2 扁钢管卡
|
|
LPCTSTR pszPipeCp[] = { _T("C5"), _T("C6"),_T("C7")};
|
|
CString sTbl = pszPipeCp[m_nPipeCp];// ? _T("C6") : _T("C5");
|
|
|
|
CString sSQL;
|
|
sSQL.Format(_T("select * from %s"), sTbl);
|
|
|
|
ShowToListCtrl(sSQL, &m_wndListPCP);
|
|
}
|
|
|
|
void CGZDJDlg::OnBnClickedRadio1()
|
|
{
|
|
UpdateData();
|
|
ShowPipeCp();
|
|
}
|
|
|
|
void CGZDJDlg::OnBnClickedRadio2()
|
|
{
|
|
UpdateData();
|
|
ShowPipeCp();
|
|
}
|
|
|
|
void CGZDJDlg::OnBnClickedRadio3()
|
|
{
|
|
UpdateData();
|
|
ShowPipeCp();
|
|
}
|
|
|
|
void CGZDJDlg::OnBnClickedCancel()
|
|
{
|
|
CDialog::OnCancel();
|
|
}
|
|
|
|
void CGZDJDlg::OnSize(UINT nType, int cx, int cy)
|
|
{
|
|
if (cx < m_rcDefault.Width() || cy < m_rcDefault.Height())
|
|
return;
|
|
|
|
CDialog::OnSize(nType, cx, cy);
|
|
if (nType == -1) return;
|
|
|
|
CRect rc;
|
|
GetClientRect(&rc);
|
|
|
|
int nH = 0, nW = 0;
|
|
CRect rect;
|
|
|
|
if (::IsWindow(m_wndListPCP.m_hWnd))
|
|
{
|
|
m_wndListPCP.GetWindowRect(&rect);
|
|
ScreenToClient(&rect);
|
|
rect.right = rc.right - 7;
|
|
m_wndListPCP.MoveWindow(rect);
|
|
}
|
|
|
|
if (::IsWindow(m_wndListHld.m_hWnd))
|
|
{
|
|
m_wndListHld.GetWindowRect(&rect);
|
|
ScreenToClient(&rect);
|
|
rect.right = rc.right - 7;
|
|
m_wndListHld.MoveWindow(rect);
|
|
}
|
|
}
|
|
|
|
void CGZDJDlg::OnSizing(UINT fwSide, LPRECT pRect)
|
|
{
|
|
int nWidth = pRect->right - pRect->left;
|
|
int nHeight = pRect->bottom - pRect->top;
|
|
|
|
if (nWidth < m_rcDefault.Width())
|
|
{
|
|
pRect->right = pRect->left + m_szDefault.cx;
|
|
}
|
|
|
|
if (nHeight < m_rcDefault.Height())
|
|
{
|
|
pRect->bottom = pRect->top + m_szDefault.cy;
|
|
}
|
|
CDialog::OnSizing(fwSide, pRect);
|
|
}
|
|
|
|
void CGZDJDlg::OnNMDblclkList2(NMHDR *pNMHDR, LRESULT *pResult)
|
|
{
|
|
LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);
|
|
|
|
|
|
*pResult = 0;
|
|
}
|
|
|
|
void CGZDJDlg::OnBnClickedButtonhf()
|
|
{
|
|
POSITION ps = m_wndListHld.GetFirstSelectedItemPosition();
|
|
if (ps != NULL)
|
|
{
|
|
int nItem = m_wndListHld.GetNextSelectedItem(ps);
|
|
if (nItem != -1)
|
|
{
|
|
HDITEM hdItem;
|
|
hdItem.mask = HDI_TEXT;
|
|
TCHAR szCol[MAX_PATH];
|
|
hdItem.pszText = szCol;
|
|
hdItem.cchTextMax = MAX_PATH;
|
|
|
|
bool bHashf = false;
|
|
CString sCol, sVal;
|
|
for (int n = 0; n < m_wndListHld.GetHeaderCtrl()->GetItemCount(); n++)
|
|
{
|
|
m_wndListHld.GetHeaderCtrl()->GetItem(n, &hdItem);
|
|
sVal = m_wndListHld.GetItemText(nItem, n);
|
|
|
|
sCol = szCol;
|
|
if (sCol.Compare(_T("hf")) == 0)
|
|
{
|
|
bHashf = true;
|
|
CHFSetDlg hfDlg;
|
|
hfDlg.SetPrompt(_T("自定义间距值 (注意是米单位)"),_T("间距值(hf):"),_T("米") );
|
|
|
|
hfDlg.m_dhf = _ttof(sVal);
|
|
if (IDOK == hfDlg.DoModal())
|
|
{
|
|
sVal.Format(_T("%.1f"),hfDlg.m_dhf);
|
|
m_wndListHld.SetItemText(nItem, n, sVal);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
if (!bHashf)
|
|
{
|
|
AfxMessageBox(_T("请选择参数表行,确认有间距hf字段要求!"));
|
|
}
|
|
}
|
|
else
|
|
{
|
|
AfxMessageBox(_T("请选择参数表行,确认有间距hf字段要求!"));
|
|
}
|
|
}
|
|
}
|
|
|
|
void CGZDJDlg::OnBnClickedButtonhf2()
|
|
{
|
|
POSITION ps = m_wndListHld.GetFirstSelectedItemPosition();
|
|
if (ps != NULL)
|
|
{
|
|
int nItem = m_wndListHld.GetNextSelectedItem(ps);
|
|
if (nItem != -1)
|
|
{
|
|
HDITEM hdItem;
|
|
hdItem.mask = HDI_TEXT;
|
|
TCHAR szCol[MAX_PATH];
|
|
hdItem.pszText = szCol;
|
|
hdItem.cchTextMax = MAX_PATH;
|
|
|
|
bool bHashf = false;
|
|
CString sCol, sVal;
|
|
for (int n = 0; n < m_wndListHld.GetHeaderCtrl()->GetItemCount(); n++)
|
|
{
|
|
m_wndListHld.GetHeaderCtrl()->GetItem(n, &hdItem);
|
|
sVal = m_wndListHld.GetItemText(nItem, n);
|
|
|
|
sCol = szCol;
|
|
if (sCol.Compare(_T("H")) == 0 ||
|
|
sCol.Compare(_T("H_")) == 0 )
|
|
{
|
|
bHashf = true;
|
|
CHFSetDlg hfDlg;
|
|
hfDlg.SetPrompt(_T("高度 (注意是毫米单位)"), _T("高度:"), _T("毫米"));
|
|
|
|
hfDlg.m_dhf = _ttof(sVal);
|
|
if (IDOK == hfDlg.DoModal())
|
|
{
|
|
sVal.Format(_T("%.1f"), hfDlg.m_dhf);
|
|
m_wndListHld.SetItemText(nItem, n, sVal);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
if (!bHashf)
|
|
{
|
|
AfxMessageBox(_T("请选择参数表行,确认有高度字段要求!"));
|
|
}
|
|
}
|
|
else
|
|
{
|
|
AfxMessageBox(_T("请选择参数表行,确认有高度字段要求!"));
|
|
}
|
|
}
|
|
}
|
|
|
|
void CGZDJDlg::OnBnClickedButton1()
|
|
{
|
|
POSITION ps = m_wndListHld.GetFirstSelectedItemPosition();
|
|
if (ps != NULL)
|
|
{
|
|
int nItem = m_wndListHld.GetNextSelectedItem(ps);
|
|
if (nItem != -1)
|
|
{
|
|
HDITEM hdItem;
|
|
hdItem.mask = HDI_TEXT;
|
|
TCHAR szCol[MAX_PATH];
|
|
hdItem.pszText = szCol;
|
|
hdItem.cchTextMax = MAX_PATH;
|
|
|
|
bool bHashf = false;
|
|
CString sCol, sVal;
|
|
for (int n = 0; n < m_wndListHld.GetHeaderCtrl()->GetItemCount(); n++)
|
|
{
|
|
m_wndListHld.GetHeaderCtrl()->GetItem(n, &hdItem);
|
|
sVal = m_wndListHld.GetItemText(nItem, n);
|
|
|
|
sCol = szCol;
|
|
if (sCol.Compare(_T("L")) == 0)
|
|
{
|
|
bHashf = true;
|
|
CHFSetDlg hfDlg;
|
|
hfDlg.SetPrompt(_T("L尺寸 (注意是毫米单位)"), _T("高度:"), _T("毫米"));
|
|
|
|
hfDlg.m_dhf = _ttof(sVal);
|
|
if (IDOK == hfDlg.DoModal())
|
|
{
|
|
sVal.Format(_T("%.1f"), hfDlg.m_dhf);
|
|
m_wndListHld.SetItemText(nItem, n, sVal);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
if (!bHashf)
|
|
{
|
|
AfxMessageBox(_T("请选择参数表行,确认有L尺寸字段要求!"));
|
|
}
|
|
}
|
|
else
|
|
{
|
|
AfxMessageBox(_T("请选择参数表行,确认有L尺寸字段要求!"));
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
void CGZDJDlg::OnBnClickedButton2()
|
|
{
|
|
POSITION ps = m_wndListHld.GetFirstSelectedItemPosition();
|
|
if (ps != NULL)
|
|
{
|
|
int nItem = m_wndListHld.GetNextSelectedItem(ps);
|
|
if (nItem != -1)
|
|
{
|
|
HDITEM hdItem;
|
|
hdItem.mask = HDI_TEXT;
|
|
TCHAR szCol[MAX_PATH];
|
|
hdItem.pszText = szCol;
|
|
hdItem.cchTextMax = MAX_PATH;
|
|
|
|
bool bHashf = false;
|
|
CString sCol, sVal;
|
|
for (int n = 0; n < m_wndListHld.GetHeaderCtrl()->GetItemCount(); n++)
|
|
{
|
|
m_wndListHld.GetHeaderCtrl()->GetItem(n, &hdItem);
|
|
sVal = m_wndListHld.GetItemText(nItem, n);
|
|
|
|
sCol = szCol;
|
|
if (sCol.Compare(_T("L2")) == 0)
|
|
{
|
|
bHashf = true;
|
|
CHFSetDlg hfDlg;
|
|
hfDlg.SetPrompt(_T("L2尺寸 (注意是毫米单位)"), _T("高度:"), _T("毫米"));
|
|
|
|
hfDlg.m_dhf = _ttof(sVal);
|
|
if (IDOK == hfDlg.DoModal())
|
|
{
|
|
sVal.Format(_T("%.1f"), hfDlg.m_dhf);
|
|
m_wndListHld.SetItemText(nItem, n, sVal);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
if (!bHashf)
|
|
{
|
|
AfxMessageBox(_T("请选择参数表行,确认有L2尺寸字段要求!"));
|
|
}
|
|
}
|
|
else
|
|
{
|
|
AfxMessageBox(_T("请选择参数表行,确认有L2尺寸字段要求!"));
|
|
}
|
|
}
|
|
}
|