📄 tabview.cpp
字号:
// tabView.cpp : implementation of the CTabView class
//
#include "stdafx.h"
#include "tab.h"
#include "tabDoc.h"
#include "tabView.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CTabView
IMPLEMENT_DYNCREATE(CTabView, CListView)
BEGIN_MESSAGE_MAP(CTabView, CListView)
//{{AFX_MSG_MAP(CTabView)
ON_WM_CREATE()
ON_WM_TIMER()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CTabView construction/destruction
CTabView::CTabView()
{
m_Increase=0;
}
CTabView::~CTabView()
{
}
BOOL CTabView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
cs.style |= LVS_SHOWSELALWAYS | LVS_REPORT;
return CListView::PreCreateWindow(cs);
}
/////////////////////////////////////////////////////////////////////////////
// CTabView diagnostics
#ifdef _DEBUG
void CTabView::AssertValid() const
{
CListView::AssertValid();
}
void CTabView::Dump(CDumpContext& dc) const
{
CListView::Dump(dc);
}
CTabDoc* CTabView::GetDocument() // non-debug version is inline
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CTabDoc)));
return (CTabDoc*)m_pDocument;
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CTabView message handlers
void CTabView::OnInitialUpdate()
{
CListView::OnInitialUpdate();
// TODO: Add your specialized code here and/or call the base class
LV_COLUMN lvcolumn;
LV_ITEM lvitem;
CListCtrl &rListCtrl = GetListCtrl();
lvcolumn.mask=LVCF_FMT|LVCF_SUBITEM|LVCF_TEXT|LVCF_WIDTH;
lvcolumn.fmt=LVCFMT_CENTER;
lvcolumn.iSubItem=0;
lvcolumn.pszText="Column1";
lvcolumn.cx=80;
rListCtrl.InsertColumn(0,&lvcolumn);
lvcolumn.iSubItem=1;
lvcolumn.pszText="Column2";
rListCtrl.InsertColumn(1,&lvcolumn);
CString str;
str.Format("%d ",m_Increase);
lvitem.mask=LVIF_TEXT;
lvitem.iItem= 0;
lvitem.iSubItem= 0;
lvitem.pszText=str.GetBuffer(10);
rListCtrl.InsertItem(&lvitem);
lvitem.iItem= 0;
lvitem.iSubItem= 1;
lvitem.pszText=str.GetBuffer(10);
rListCtrl.SetItem(&lvitem);
SetTimer(1,500,NULL);
}
int CTabView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CListView::OnCreate(lpCreateStruct) == -1)
return -1;
DWORD dwStyle=0;
// set list control's style to hilight the entire row
//SendMessage(LVM_GETEXTENDEDLISTVIEWSTYLE,0,(LPARAM)dwStyle);
/*设置ListView的风格*/
dwStyle |= LVS_EX_FULLROWSELECT /*整行选择*/
|LVS_EX_GRIDLINES /*加入横竖线*/
|LVS_EX_HEADERDRAGDROP;/*拖拉*/
SendMessage(LVM_SETEXTENDEDLISTVIEWSTYLE, 0, (LPARAM)dwStyle);
return 0;
}
void CTabView::OnTimer(UINT nIDEvent)
{
if(nIDEvent==1)
{
LV_ITEM lvitem;
m_Increase=((CTabDoc*)GetDocument())->m_Accumulater++;
CListCtrl &ListCtrl = GetListCtrl();
CString str;
str.Format("%d ",m_Increase);
lvitem.mask=LVIF_TEXT;
lvitem.iItem= 0;
lvitem.iSubItem= 1;
lvitem.pszText=str.GetBuffer(5);
ListCtrl.SetItem(&lvitem);
}
}
BOOL CTabView::DestroyWindow()
{
// TODO: Add your specialized code here and/or call the base class
KillTimer(1);
return CListView::DestroyWindow();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -