#include "stdafx.h" #include "XGTDDlg.h" IMPLEMENT_DYNAMIC(CXGTDDlg, CDialog) CXGTDDlg::CXGTDDlg(CWnd* pParent /*=NULL*/) : CDialog(CXGTDDlg::IDD, pParent) { } CXGTDDlg::~CXGTDDlg() { } void CXGTDDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Control(pDX, IDC_LISTSEG, m_wndSegList); } BEGIN_MESSAGE_MAP(CXGTDDlg, CDialog) ON_BN_CLICKED(IDOK, &CXGTDDlg::OnBnClickedOk) END_MESSAGE_MAP() void CXGTDDlg::ShowSegment(const AcArray& segs) { m_arSegments.append(segs); } BOOL CXGTDDlg::OnInitDialog() { CDialog::OnInitDialog(); m_ImageList.Create(IDB_BITMAP4,16,1,RGB(0, 255, 255)); m_wndSegList.SetImageList(&m_ImageList,LVSIL_SMALL); m_wndSegList.SetExtendedStyle(LVS_EX_FULLROWSELECT); m_wndSegList.InsertColumn(0,_T("×®ºÅ"),LVCFMT_LEFT,160,160); m_wndSegList.InsertColumn(1,_T("ÌݶÈn%"),LVCFMT_LEFT,100,100); m_wndSegList.SetColumnItemData(1,NULL,ET_Edit); ShowSegmentVals(); return TRUE; } void CXGTDDlg::ShowSegmentVals() { CString sVal; for (int i = 0;i < m_arSegments.length();i++) { EWSegment& seg = m_arSegments.at(i); sVal = seg.szStake; m_wndSegList.InsertItem(i,sVal,4); sVal.Format(_T("%g"),seg.dGradient); m_wndSegList.SetItemText(i,1,sVal); } } void CXGTDDlg::OnBnClickedOk() { CString sVal; for (int i = 0;i < m_arSegments.length();i++) { EWSegment& seg = m_arSegments.at(i); sVal = m_wndSegList.GetItemText(i,1); seg.dGradient = _ttof(sVal); } OnOK(); }