// TextView.cpp: implementation of the CTextView class.
//
//////////////////////////////////////////////////////////////////////
#include "TextView.h"
#include "afxhtml.h"
#include "mydoc.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
IMPLEMENT_DYNCREATE(CTextView,CListView);
BEGIN_MESSAGE_MAP(CTextView, CListView)
//{{AFX_MSG_MAP(CLeftView)
ON_NOTIFY_REFLECT(LVN_ITEMCHANGED, OnSelchanged)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
CTextView::CTextView()
{
}
CTextView::~CTextView()
{
}
void CTextView::OnInitialUpdate()
{
myDoc* pDoc = (myDoc*)GetDocument();
CListCtrl &list = GetListCtrl();
list.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
for(int i=0;i<6;i++)
{
list.InsertColumn(i,pDoc->ColHeading[i],LVCFMT_LEFT,50,i);
for(int j=0;j<3;j++)
{
if(i==0)
list.InsertItem(j,pDoc->Data[j][i],-1);
else
list.SetItemText(j,i,pDoc->Data[j][i]);
}
}
}
void CTextView::OnDraw(CDC *pDc)
{
}
BOOL CTextView::PreCreateWindow(CREATESTRUCT& cs)
{
cs.style |= LVS_REPORT;
cs.style |= LVS_SHOWSELALWAYS;
return CListView::PreCreateWindow(cs);
}
void CTextView::OnSelchanged(NMHDR *pNMHDR, LRESULT *pResult)
{
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
myDoc* pDoc = (myDoc*)GetDocument();
pDoc->ItemData.RemoveAll();
if(pNMListView->uNewState == (LVIS_FOCUSED|LVIS_SELECTED))
{
int CurrentItem = (*pNMListView).iItem;
TRACE("Item Selected: %d\n",(*pNMListView).iItem);
pDoc->ItemData.Add("Item Details:");
pDoc->ItemData.Add("Item Name: "+GetListCtrl().GetItemText(CurrentItem,0));
pDoc->ItemData.Add("Sub Item1: "+GetListCtrl().GetItemText(CurrentItem,1));
pDoc->ItemData.Add("Sub Item2: "+GetListCtrl().GetItemText(CurrentItem,2));
pDoc->ItemData.Add("Sub Item3: "+GetListCtrl().GetItemText(CurrentItem,3));
pDoc->ItemData.Add("Sub Item4: "+GetListCtrl().GetItemText(CurrentItem,4));
pDoc->UpdateAllViews(this);
}
}