📄 myleftview.cpp
字号:
// MyLeftView.cpp : 实现文件
//
#include "stdafx.h"
#include "ScoreGather.h"
#include "MyLeftView.h"
#include ".\myleftview.h"
// CMyLeftView
IMPLEMENT_DYNCREATE(CMyLeftView, CTreeView)
CMyLeftView::CMyLeftView()
: WindowsType(_T(""))
{
}
CMyLeftView::~CMyLeftView()
{
}
BEGIN_MESSAGE_MAP(CMyLeftView, CTreeView)
ON_WM_ERASEBKGND()
ON_NOTIFY_REFLECT(TVN_ITEMEXPANDED, OnTvnItemexpanded)
ON_NOTIFY_REFLECT(TVN_ITEMEXPANDING, OnTvnItemexpanding)
END_MESSAGE_MAP()
// CMyLeftView 诊断
#ifdef _DEBUG
void CMyLeftView::AssertValid() const
{
CTreeView::AssertValid();
}
void CMyLeftView::Dump(CDumpContext& dc) const
{
CTreeView::Dump(dc);
}
#endif //_DEBUG
// CMyLeftView 消息处理程序
void CMyLeftView::OnInitialUpdate()
{
CTreeView::OnInitialUpdate();
::SetWindowLong(m_hWnd,GWL_STYLE,WS_VISIBLE | WS_TABSTOP
| WS_CHILD | WS_BORDER| TVS_HASBUTTONS
| TVS_LINESATROOT | TVS_HASLINES
| TVS_DISABLEDRAGDROP|TVS_SHOWSELALWAYS);
CScoreGatherApp* pApp = (CScoreGatherApp*)AfxGetApp();
CTreeCtrl *pTreeCtrl= &GetTreeCtrl();
pTreeCtrl->SetTextColor(RGB(0,0,255));
pTreeCtrl->SetBkColor(::GetSysColor(COLOR_3DFACE));
AddTree();
pTreeCtrl->SortChildren(TVI_ROOT);
}
HTREEITEM CMyLeftView::AddTree(void)
{
CTreeCtrl* pTreeCtrl = &GetTreeCtrl();
TV_INSERTSTRUCT TCItem;//插入数据项数据结构
TCItem.hParent = TVI_ROOT;
TCItem.hInsertAfter = TVI_LAST;
TCItem.item.mask=TVIF_TEXT|TVIF_PARAM|TVIF_IMAGE|TVIF_SELECTEDIMAGE;//设屏蔽
CString string;
string="教学成绩总览";
TCItem.item.pszText = (LPTSTR)(LPCTSTR)string;
HTREEITEM hSectionItem = pTreeCtrl->InsertItem(&TCItem);
CStringArray str;
str.Add("学生单科成绩");
str.Add("学生全科成绩");
str.Add("班级学科成绩");
str.Add("教师教学成绩");
str.Add("学生成绩单");
for(int row=1;row<=5;row++)
AddMainTree(hSectionItem,str[row-1],row);
pTreeCtrl->Expand(hSectionItem,TVE_EXPAND);
return HTREEITEM();
}
HTREEITEM CMyLeftView::AddMainTree(HTREEITEM hSectionItem, CString str, int row)
{
CTreeCtrl* pCtrl = &GetTreeCtrl();
TV_INSERTSTRUCT TCItem;
TCItem.hParent = hSectionItem;
TCItem.hInsertAfter = TVI_LAST;
TCItem.item.mask=TVIF_TEXT|TVIF_PARAM|TVIF_IMAGE|TVIF_SELECTEDIMAGE;//设屏蔽
TCItem.item.lParam=row;//序号
TCItem.item.iImage=row;//正常图标
TCItem.item.iSelectedImage=row;//选中时图标
TCItem.item.pszText = (LPTSTR)(LPCTSTR)str;
hSectionItem = pCtrl->InsertItem(&TCItem);
return HTREEITEM();
}
BOOL CMyLeftView::OnEraseBkgnd(CDC* pDC)
{
CBrush brush(::GetSysColor(COLOR_3DFACE));
CBrush* pOldBrush=pDC->SelectObject(&brush);
CRect rcClip;
pDC->GetClipBox(&rcClip);
pDC->PatBlt(rcClip.left,rcClip.top,rcClip.Width(),rcClip.Height(),PATCOPY);
pDC->SelectObject(pOldBrush);
return TRUE;
}
void CMyLeftView::OnTvnItemexpanded(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMTREEVIEW pNMTreeView = reinterpret_cast<LPNMTREEVIEW>(pNMHDR);
Invalidate();
SetRedraw(TRUE);
*pResult = 0;
}
void CMyLeftView::OnTvnItemexpanding(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMTREEVIEW pNMTreeView = reinterpret_cast<LPNMTREEVIEW>(pNMHDR);
SetRedraw(FALSE);
*pResult = 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -