// appdatatddetaillistview.cpp : implementation file // #include "stdafx.h" #include "geomative.h" #include "appdatatddetaillistview.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif extern int g_UIOffset; ///////////////////////////////////////////////////////////////////////////// // CAppDataTdDetailListView IMPLEMENT_DYNCREATE(CAppDataTdDetailListView, CListView) CAppDataTdDetailListView::CAppDataTdDetailListView() { m_pMngFrm = NULL; } CAppDataTdDetailListView::~CAppDataTdDetailListView() { } BEGIN_MESSAGE_MAP(CAppDataTdDetailListView, CListView) //{{AFX_MSG_MAP(CAppDataTdDetailListView) ON_NOTIFY_REFLECT(NM_CUSTOMDRAW, OnCustomdrawDetailList) ON_NOTIFY_REFLECT(NM_SETFOCUS, OnSetfocus) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CAppDataTdDetailListView drawing void CAppDataTdDetailListView::OnDraw(CDC* pDC) { CDocument* pDoc = GetDocument(); // TODO: add draw code here } ///////////////////////////////////////////////////////////////////////////// // CAppDataTdDetailListView diagnostics #ifdef _DEBUG void CAppDataTdDetailListView::AssertValid() const { CListView::AssertValid(); } void CAppDataTdDetailListView::Dump(CDumpContext& dc) const { CListView::Dump(dc); } #endif //_DEBUG ///////////////////////////////////////////////////////////////////////////// // CAppDataTdDetailListView message handlers void CAppDataTdDetailListView::OnInitialUpdate() { CListView::OnInitialUpdate(); // TODO: Add your specialized code here and/or call the base class CString strRowTitle; int iRowIndex = (int)VAL_ZERO; LVCOLUMN lvCol; memset(&lvCol, (int)VAL_ZERO, sizeof(LVCOLUMN)); lvCol.mask = LVCF_FMT; lvCol.fmt = LVCFMT_RIGHT; m_pDetailList = &GetListCtrl(); m_pDetailList->SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_ONECLICKACTIVATE | LVS_EX_GRIDLINES); m_pMngFrm = (CMDIChildWnd*)GetParentFrame(); m_pDetailList->InsertColumn(0, _T(""), LVCFMT_RIGHT, LIST_DETAIL_WIDTH_TITLE); m_pDetailList->InsertColumn(1, _T(""), LVCFMT_LEFT, LIST_DETAIL_WIDTH_VALUE); m_pDetailList->SetColumn(0, &lvCol); strRowTitle.Empty(); strRowTitle.LoadString(IDS_DB_TD_TDNAME+g_UIOffset); m_pDetailList->InsertItem(iRowIndex, strRowTitle); // iRowIndex++; // strRowTitle.Empty(); // strRowTitle.LoadString(IDS_DB_TD_TLOCATION); // m_pDetailList->InsertItem(iRowIndex, strRowTitle); iRowIndex++; strRowTitle.Empty(); strRowTitle.LoadString(IDS_DB_TD_DESN+g_UIOffset); m_pDetailList->InsertItem(iRowIndex, strRowTitle); // iRowIndex++; // strRowTitle.Empty(); // strRowTitle.LoadString(IDS_DB_TD_SCCN); // m_pDetailList->InsertItem(iRowIndex, strRowTitle); iRowIndex++; strRowTitle.Empty(); strRowTitle.LoadString(IDS_DB_TD_SNAME+g_UIOffset); m_pDetailList->InsertItem(iRowIndex, strRowTitle); iRowIndex++; strRowTitle.Empty(); strRowTitle.LoadString(IDS_DB_TD_STYPE+g_UIOffset); m_pDetailList->InsertItem(iRowIndex, strRowTitle); iRowIndex++; strRowTitle.Empty(); strRowTitle.LoadString(IDS_DB_TD_TTYPE+g_UIOffset); m_pDetailList->InsertItem(iRowIndex, strRowTitle); iRowIndex++; strRowTitle.Empty(); strRowTitle.LoadString(IDS_ARRAY_TYPE+g_UIOffset); m_pDetailList->InsertItem(iRowIndex, strRowTitle); // iRowIndex++; // strRowTitle.Empty(); // strRowTitle.LoadString(IDS_DB_TD_TMODE); // m_pDetailList->InsertItem(iRowIndex, strRowTitle); iRowIndex++; strRowTitle.Empty(); strRowTitle.LoadString(IDS_DB_TD_EAMOUNT+g_UIOffset); m_pDetailList->InsertItem(iRowIndex, strRowTitle); iRowIndex++; strRowTitle.Empty(); strRowTitle.LoadString(IDS_DB_TD_VALID_POINT + g_UIOffset); m_pDetailList->InsertItem(iRowIndex, strRowTitle); iRowIndex++; strRowTitle.Empty(); strRowTitle.LoadString(IDS_DB_TD_TPAMOUNT+g_UIOffset); m_pDetailList->InsertItem(iRowIndex, strRowTitle); iRowIndex++; strRowTitle.Empty(); strRowTitle.LoadString(IDS_DB_TD_CHAMOUNT+g_UIOffset); m_pDetailList->InsertItem(iRowIndex, strRowTitle); iRowIndex++; strRowTitle.Empty(); strRowTitle.LoadString(IDS_DB_TD_N+g_UIOffset); m_pDetailList->InsertItem(iRowIndex, strRowTitle); iRowIndex++; strRowTitle.Empty(); strRowTitle.LoadString(IDS_DB_TD_TRWAVE+g_UIOffset); m_pDetailList->InsertItem(iRowIndex, strRowTitle); iRowIndex++; strRowTitle.Empty(); strRowTitle.LoadString(IDS_DB_TD_TRFREQUENCY+g_UIOffset); m_pDetailList->InsertItem(iRowIndex, strRowTitle); iRowIndex++; strRowTitle.Empty(); strRowTitle.LoadString(IDS_DB_TD_IFREQUENCY+g_UIOffset); m_pDetailList->InsertItem(iRowIndex, strRowTitle); // iRowIndex++; // strRowTitle.Empty(); // strRowTitle.LoadString(IDS_DB_TD_SAFREQUENCY); // m_pDetailList->InsertItem(iRowIndex, strRowTitle); iRowIndex++; strRowTitle.Empty(); strRowTitle.LoadString(IDS_DB_TD_CLAYOUT+g_UIOffset); m_pDetailList->InsertItem(iRowIndex, strRowTitle); // iRowIndex++; // strRowTitle.Empty(); // strRowTitle.LoadString(IDS_DB_TD_ESPACE); // m_pDetailList->InsertItem(iRowIndex, strRowTitle); iRowIndex++; strRowTitle.Empty(); strRowTitle.LoadString(IDS_DB_TD_EDISTANCE+g_UIOffset); m_pDetailList->InsertItem(iRowIndex, strRowTitle); iRowIndex++; strRowTitle.Empty(); strRowTitle.LoadString(IDS_DB_TD_WEATHER+g_UIOffset); m_pDetailList->InsertItem(iRowIndex, strRowTitle); iRowIndex++; strRowTitle.Empty(); strRowTitle.LoadString(IDS_DB_TD_WDIR+g_UIOffset); m_pDetailList->InsertItem(iRowIndex, strRowTitle); iRowIndex++; strRowTitle.Empty(); strRowTitle.LoadString(IDS_DB_TD_TEMPERATURE+g_UIOffset); m_pDetailList->InsertItem(iRowIndex, strRowTitle); iRowIndex++; strRowTitle.Empty(); strRowTitle.LoadString(IDS_DB_TD_HEIGHT+g_UIOffset); m_pDetailList->InsertItem(iRowIndex, strRowTitle); iRowIndex++; strRowTitle.Empty(); strRowTitle.LoadString(IDS_DB_TD_HUMIDITY+g_UIOffset); m_pDetailList->InsertItem(iRowIndex, strRowTitle); iRowIndex++; strRowTitle.Empty(); strRowTitle.LoadString(IDS_DB_TD_CDATE+g_UIOffset); m_pDetailList->InsertItem(iRowIndex, strRowTitle); iRowIndex++; strRowTitle.Empty(); strRowTitle.LoadString(IDS_DB_TD_CTIME+g_UIOffset); m_pDetailList->InsertItem(iRowIndex, strRowTitle); iRowIndex++; strRowTitle.Empty(); strRowTitle.LoadString(IDS_DB_TD_TDATE+g_UIOffset); m_pDetailList->InsertItem(iRowIndex, strRowTitle); iRowIndex++; strRowTitle.Empty(); strRowTitle.LoadString(IDS_DB_TD_TTIME+g_UIOffset); m_pDetailList->InsertItem(iRowIndex, strRowTitle); // iRowIndex++; // strRowTitle.Empty(); // strRowTitle.LoadString(IDS_DB_TD_RDIRECTION); // m_pDetailList->InsertItem(iRowIndex, strRowTitle); // iRowIndex++; // strRowTitle.Empty(); // strRowTitle.LoadString(IDS_DB_TD_CRTIME); // m_pDetailList->InsertItem(iRowIndex, strRowTitle); // iRowIndex++; // strRowTitle.Empty(); // strRowTitle.LoadString(IDS_DB_TD_PM); // m_pDetailList->InsertItem(iRowIndex, strRowTitle); iRowIndex++; strRowTitle.Empty(); strRowTitle.LoadString(IDS_DB_TD_OP+g_UIOffset); m_pDetailList->InsertItem(iRowIndex, strRowTitle); iRowIndex++; strRowTitle.Empty(); strRowTitle.LoadString(IDS_DB_TD_QA+g_UIOffset); m_pDetailList->InsertItem(iRowIndex, strRowTitle); m_iRowCount = ++iRowIndex; while (VAL_ZERO != (LIST_DETAIL_AMOUNT_ROW - (UINT)iRowIndex)) { m_pDetailList->InsertItem(iRowIndex, _T("")); iRowIndex++; } } void CAppDataTdDetailListView::OnCustomdrawDetailList (NMHDR* pNMHDR, LRESULT* pResult) { NMLVCUSTOMDRAW* pLVCD = reinterpret_cast(pNMHDR); *pResult = CDRF_DODEFAULT; if (CDDS_PREPAINT == pLVCD->nmcd.dwDrawStage) { *pResult = CDRF_NOTIFYITEMDRAW; } else if (CDDS_ITEMPREPAINT == pLVCD->nmcd.dwDrawStage) { *pResult = CDRF_NOTIFYSUBITEMDRAW; } else if ((CDDS_ITEMPREPAINT | CDDS_SUBITEM) == pLVCD->nmcd.dwDrawStage) { COLORREF clrNewTextColor, clrNewBkColor; if ((int)VAL_ZERO == pLVCD->iSubItem) { clrNewTextColor = RGB(0, 0, 255); clrNewBkColor = ::GetSysColor (COLOR_BTNFACE); } else { clrNewTextColor = RGB(0, 0, 0); clrNewBkColor = RGB(255, 255, 230); } pLVCD->clrText = clrNewTextColor; pLVCD->clrTextBk = clrNewBkColor; *pResult = CDRF_DODEFAULT; } } BOOL CAppDataTdDetailListView::PreCreateWindow(CREATESTRUCT& cs) { // TODO: Add your specialized code here and/or call the base class cs.style &= ~LVS_TYPEMASK; cs.style |= LVS_REPORT | LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_NOSCROLL; return CListView::PreCreateWindow(cs); } void CAppDataTdDetailListView::OnSetfocus(NMHDR* pNMHDR, LRESULT* pResult) { // TODO: Add your control notification handler code here GetParent()->SetFocus(); *pResult = 0; }