|
|
// FileSpyView.cpp : implementation of the CFileSpyView class
//
#include "stdafx.h"
#include "FileSpyApp.h"
#include "FileSpyDoc.h"
#include "FileSpyView.h"
#include "global.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__; #endif
/////////////////////////////////////////////////////////////////////////////
// CFileSpyView
IMPLEMENT_DYNCREATE(CFileSpyView, CListView)
BEGIN_MESSAGE_MAP(CFileSpyView, CListView) //{{AFX_MSG_MAP(CFileSpyView)
ON_WM_KEYDOWN() //}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CFileSpyView construction/destruction
CFileSpyView::CFileSpyView() { // TODO: add construction code here
pSpyView = (LPVOID) this; }
CFileSpyView::~CFileSpyView() { }
BOOL CFileSpyView::PreCreateWindow(CREATESTRUCT& cs) { // TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
cs.style |= LVS_REPORT | WS_HSCROLL | WS_VSCROLL; return CListView::PreCreateWindow(cs); }
/////////////////////////////////////////////////////////////////////////////
// CFileSpyView drawing
void CFileSpyView::OnDraw(CDC* pDC) { UNREFERENCED_PARAMETER( pDC ); CFileSpyDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); CListCtrl& refCtrl = GetListCtrl(); refCtrl.InsertItem(0, L"Item!"); // TODO: add draw code for native data here
}
void CFileSpyView::OnInitialUpdate() { CListView::OnInitialUpdate();
// TODO: You may populate your ListView with items by directly accessing
// its list control through a call to GetListCtrl().
//
// Add the list header items
//
GetListCtrl().InsertColumn(0, L"S. No", LVCFMT_LEFT, 50); GetListCtrl().InsertColumn(1, L"Major Code", LVCFMT_LEFT, 100); GetListCtrl().InsertColumn(2, L"Minor Code", LVCFMT_LEFT, 100); GetListCtrl().InsertColumn(3, L"FileObject", LVCFMT_LEFT, 75); GetListCtrl().InsertColumn(4, L"Name", LVCFMT_LEFT, 250); GetListCtrl().InsertColumn(5, L"Process:Thread", LVCFMT_LEFT, 100); GetListCtrl().InsertColumn(6, L"OrgnTime", LVCFMT_LEFT, 78); GetListCtrl().InsertColumn(7, L"CompTime", LVCFMT_LEFT, 78); GetListCtrl().InsertColumn(8, L"Flags", LVCFMT_LEFT, 175); GetListCtrl().InsertColumn(9, L"Status:RetInfo", LVCFMT_LEFT, 100); }
/////////////////////////////////////////////////////////////////////////////
// CFileSpyView diagnostics
#ifdef _DEBUG
void CFileSpyView::AssertValid() const { CListView::AssertValid(); }
void CFileSpyView::Dump(CDumpContext& dc) const { CListView::Dump(dc); }
CFileSpyDoc* CFileSpyView::GetDocument() // non-debug version is inline
{ ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CFileSpyDoc))); return (CFileSpyDoc*)m_pDocument; } #endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CFileSpyView message handlers
void CFileSpyView::OnStyleChanged(int nStyleType, LPSTYLESTRUCT lpStyleStruct) { //TODO: add code to react to the user changing the view style of your window
UNREFERENCED_PARAMETER( nStyleType ); UNREFERENCED_PARAMETER( lpStyleStruct ); }
void CFileSpyView::OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint) { // TODO: Add your specialized code here and/or call the base class
UNREFERENCED_PARAMETER( pSender ); UNREFERENCED_PARAMETER( lHint ); UNREFERENCED_PARAMETER( pHint ); }
void CFileSpyView::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) { // TODO: Add your message handler code here and/or call default
int ti, oldti; if (nChar == VK_DELETE) { ti = 0; oldti = 0; while(ti < GetListCtrl().GetItemCount()) { if (GetListCtrl().GetItemState(ti, LVIS_SELECTED) & LVIS_SELECTED) { GetListCtrl().DeleteItem(ti); oldti = ti; } else { ti++; } } if (oldti < GetListCtrl().GetItemCount()) { GetListCtrl().SetItemState(oldti, LVIS_SELECTED, LVIS_SELECTED); } else { GetListCtrl().SetItemState(oldti-1, LVIS_SELECTED, LVIS_SELECTED); } } CListView::OnKeyDown(nChar, nRepCnt, nFlags); }
|