www.pudn.com > TabbedView.rar > View2.cpp
// View2.cpp : implementation file
//
#include "stdafx.h"
#include "TabbedView.h"
#include "View2.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CView2
IMPLEMENT_DYNCREATE(CView2, CListView)
CView2::CView2()
{
}
CView2::~CView2()
{
}
BEGIN_MESSAGE_MAP(CView2, CListView)
//{{AFX_MSG_MAP(CView2)
ON_WM_CONTEXTMENU()
ON_WM_WINDOWPOSCHANGING()
ON_WM_KEYDOWN()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CView2 drawing
void CView2::OnDraw(CDC* pDC)
{
CDocument* pDoc = GetDocument();
// TODO: add draw code here
}
/////////////////////////////////////////////////////////////////////////////
// CView2 diagnostics
#ifdef _DEBUG
void CView2::AssertValid() const
{
CListView::AssertValid();
}
void CView2::Dump(CDumpContext& dc) const
{
CListView::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CView2 message handlers
BOOL CView2::PreCreateWindow(CREATESTRUCT& cs)
{
cs.style |= LVS_REPORT;
return CListView::PreCreateWindow(cs);
}
void CView2::OnInitialUpdate()
{
CListView::OnInitialUpdate();
CListCtrl& wndList = GetListCtrl ();
wndList.SetExtendedStyle (LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
const int nColumns = 15;
// Insert columns:
for (int iColumn = 0; iColumn < nColumns; iColumn++)
{
CString strColumn;
strColumn.Format (_T("Column %d"), iColumn + 1);
wndList.InsertColumn (iColumn, strColumn, LVCFMT_LEFT, 70);
}
// Insert items:
for (int i = 0; i < 100; i++)
{
const CString strItemFmt = _T("Item (%d, %d)");
CString strItem;
strItem.Format (strItemFmt, 1, i + 1);
int iItem = wndList.InsertItem (i, strItem, 0);
for (iColumn = 1; iColumn < nColumns; iColumn++)
{
strItem.Format (strItemFmt, iColumn + 1, i + 1);
wndList.SetItemText (iItem, iColumn, strItem);
}
}
}
void CView2::OnContextMenu(CWnd* pWnd, CPoint point)
{
theApp.ShowPopupMenu (IDR_CONTEXT_MENU, point, this);
}
void CView2::OnWindowPosChanging(WINDOWPOS FAR* lpwndpos)
{
CListView::OnWindowPosChanging(lpwndpos);
// Hide horizontal scrollbar:
ShowScrollBar (SB_HORZ, FALSE);
ModifyStyle (WS_HSCROLL, 0, SWP_DRAWFRAME);
}
void CView2::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
CListView::OnKeyDown(nChar, nRepCnt, nFlags);
if (nChar == VK_LEFT || nChar == VK_RIGHT)
{
// Assume scroll left or right. Synchronize scorll bars:
CBCGTabWnd* pTabWnd = DYNAMIC_DOWNCAST (CBCGTabWnd, GetParent ());
ASSERT_VALID (pTabWnd);
pTabWnd->SynchronizeScrollBar ();
}
}