Files
geomative/GeomativeStudio/cpp/Views/appdatatddetaillistview.cpp
coco df489d5640 a
2026-07-03 16:05:30 +08:00

318 lines
8.4 KiB
C++

// 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<NMLVCUSTOMDRAW*>(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;
}