// appdevolgrlistview.cpp : implementation file // #include "stdafx.h" #include "geomative.h" #include "appdevolgrlistview.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CAppDevOLGRListView IMPLEMENT_DYNCREATE(CAppDevOLGRListView, CListView) CAppDevOLGRListView::CAppDevOLGRListView() { } CAppDevOLGRListView::~CAppDevOLGRListView() { } BEGIN_MESSAGE_MAP(CAppDevOLGRListView, CListView) //{{AFX_MSG_MAP(CAppDevOLGRListView) ON_WM_RBUTTONDOWN() ON_COMMAND(IDM_OP_DEV_GR_REF, OnOpDevRefreshGR) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CAppDevOLGRListView drawing void CAppDevOLGRListView::OnDraw(CDC* pDC) { CDocument* pDoc = GetDocument(); // TODO: add draw code here } ///////////////////////////////////////////////////////////////////////////// // CAppDevOLGRListView diagnostics #ifdef _DEBUG void CAppDevOLGRListView::AssertValid() const { CListView::AssertValid(); } void CAppDevOLGRListView::Dump(CDumpContext& dc) const { CListView::Dump(dc); } #endif //_DEBUG ///////////////////////////////////////////////////////////////////////////// // CAppDevOLGRListView message handlers void CAppDevOLGRListView::OnInitialUpdate() { CListView::OnInitialUpdate(); // TODO: Add your specialized code here and/or call the base class CString strColTitle; GetListCtrl().SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_HEADERDRAGDROP | LVS_EX_ONECLICKACTIVATE | LVS_EX_GRIDLINES); m_pMngFrm = (CMDIChildWnd*)GetParentFrame(); strColTitle.Empty(); strColTitle.LoadString(IDS_DB_DEVGR_ECODE); GetListCtrl().InsertColumn(0, strColTitle, LVCFMT_LEFT, 100); strColTitle.Empty(); strColTitle.LoadString(IDS_DB_DEVGR_MDATE); GetListCtrl().InsertColumn(1, strColTitle, LVCFMT_LEFT, 110); strColTitle.Empty(); strColTitle.LoadString(IDS_DB_DEVGR_MTIME); GetListCtrl().InsertColumn(2, strColTitle, LVCFMT_LEFT, 100); strColTitle.Empty(); strColTitle.LoadString(IDS_DB_DEVGR_RESISTANCE); GetListCtrl().InsertColumn(3, strColTitle, LVCFMT_LEFT, 100); strColTitle.Empty(); strColTitle.LoadString(IDS_DB_DEVGR_RESISTANCE_STATUS); GetListCtrl().InsertColumn(4, strColTitle, LVCFMT_LEFT, 150); strColTitle.Empty(); strColTitle.LoadString(IDS_DB_DEVGR_RESISTANCE1); GetListCtrl().InsertColumn(5, strColTitle, LVCFMT_LEFT, 100); strColTitle.Empty(); strColTitle.LoadString(IDS_DB_DEVGR_RESISTANCE1_STATUS); GetListCtrl().InsertColumn(6, strColTitle, LVCFMT_LEFT, 150); } BOOL CAppDevOLGRListView::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_SHOWSELALWAYS; return CListView::PreCreateWindow(cs); } void CAppDevOLGRListView::OnRButtonDown(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default CMenu grMenu; CMenu* pPopGrMenu = NULL; POSITION posRec; UINT uFlag; int iItem = GetListCtrl().HitTest(point, &uFlag); if ((uFlag == LVHT_ONITEM) && (iItem != (int)VAL_MINUS_ONE)) { GetListCtrl().SetItemState(iItem, LVIS_SELECTED | LVIS_FOCUSED, LVIS_SELECTED | LVIS_FOCUSED); } posRec = GetListCtrl().GetFirstSelectedItemPosition(); iItem = GetListCtrl().GetNextSelectedItem(posRec); if (iItem != (int)VAL_MINUS_ONE) { // ::SendMessage(m_pMngFrm->m_hWnd, WM_DEVGRRECREFRESH, (WPARAM)iItem, (LPARAM)VAL_ZERO); this->ClientToScreen(&point); grMenu.LoadMenu(IDR_GR_REFRESH); pPopGrMenu = grMenu.GetSubMenu(0); pPopGrMenu->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, this); } CListView::OnRButtonDown(nFlags, point); } void CAppDevOLGRListView::OnOpDevRefreshGR() { DWORD dwPos = (DWORD)VAL_ZERO; CString szLabel = _T(""); UINT uFlag; POSITION posRec; dwPos = GetMessagePos(); CPoint point(LOWORD(dwPos), HIWORD(dwPos)); int iItem = GetListCtrl().HitTest(point, &uFlag); if ((uFlag == LVHT_ONITEM) && (iItem != (int)VAL_MINUS_ONE)) { GetListCtrl().SetItemState(iItem, LVIS_SELECTED | LVIS_FOCUSED, LVIS_SELECTED | LVIS_FOCUSED); } posRec = GetListCtrl().GetFirstSelectedItemPosition(); iItem = GetListCtrl().GetNextSelectedItem(posRec); if (iItem != (int)VAL_MINUS_ONE) { ::SendMessage(m_pMngFrm->m_hWnd, WM_DEVREFRESHGRREC, (WPARAM)iItem, (LPARAM)VAL_ZERO); } } //DEL void CAppDevOLGRListView::OnOpDevRefreshAllGR() //DEL { //DEL ::SendMessage(m_pMngFrm->m_hWnd, WM_DEVREFRESHALLGRREC, (WPARAM)VAL_ZERO, (LPARAM)VAL_ZERO); //DEL }