⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tview.cpp

📁 国际海图标准S-57格式数据读取源码VC
💻 CPP
字号:
// TView.cpp : 实现文件
//

#include "stdafx.h"
#include "ParseS57.h"
#include "TView.h"
#include ".\tview.h"


// CTView

IMPLEMENT_DYNCREATE(CTView, CTreeView)

CTView::CTView()
{
}

CTView::~CTView()
{
}

BEGIN_MESSAGE_MAP(CTView, CTreeView)
	ON_NOTIFY_REFLECT(TVN_SELCHANGED, OnTvnSelchanged)
END_MESSAGE_MAP()


// CTView 诊断

#ifdef _DEBUG
void CTView::AssertValid() const
{
	CTreeView::AssertValid();
}

void CTView::Dump(CDumpContext& dc) const
{
	CTreeView::Dump(dc);
}
#endif //_DEBUG


// CTView 消息处理程序

void CTView::OnInitialUpdate()
{
	CTreeView::OnInitialUpdate();

	CTreeCtrl &treeCtrl=GetTreeCtrl();
	DWORD dwStyle=::GetWindowLong(treeCtrl.m_hWnd,GWL_STYLE);
	dwStyle|=TVS_HASBUTTONS|TVS_HASLINES|TVS_LINESATROOT;
	::SetWindowLong(treeCtrl.m_hWnd,GWL_STYLE,dwStyle);
	HTREEITEM hRoot,hCurPos;
	TV_INSERTSTRUCT tInsert;
	tInsert.hParent=TVI_ROOT;
	tInsert.hInsertAfter=TVI_LAST;
	tInsert.item.mask=TVIF_TEXT|TVIF_PARAM;
	tInsert.item.pszText="分类";
	tInsert.item.lParam=0;
	hRoot=treeCtrl.InsertItem(&tInsert);
	char *plant[4]={"编程","小说","科学","人文"};
	char *cell[4][5]={
		{"VC++","Delphi","BCB","",""},//主系统运行日志
		{"武侠","侦探","言情","恐怖","悬疑"},
		{"天文","地理","自然","",""},
		{"社会科学","","","",""}
	};
	int i,j;
	for(i=0;i<4;i++)
	{
		tInsert.hParent=hRoot;
		tInsert.item.pszText=plant[i];
		hCurPos=treeCtrl.InsertItem(&tInsert);
		for(j=0;j<5;j++)
		{
			tInsert.hParent=hCurPos;
			if(cell[i][j]!="")
			{
				tInsert.item.pszText=cell[i][j];
				treeCtrl.InsertItem(&tInsert);}
		}
		//treeCtrl.Expand(hCurPos,TVE_EXPAND);


	}
	treeCtrl.Expand(hRoot,TVE_EXPAND);


	// TODO: 在此添加专用代码和/或调用基类
}

BOOL CTView::IsSelected(const CObject* pDocItem) const
{
	// TODO: 在此添加专用代码和/或调用基类
	if (pDocItem->IsKindOf(RUNTIME_CLASS(CTreeView)))
	{
		TRACE(_T("selected TreeView Item is"));
	}
	return CTreeView::IsSelected(pDocItem);
}

void CTView::OnTvnSelchanged(NMHDR *pNMHDR, LRESULT *pResult)
{
	LPNMTREEVIEW pNMTreeView = reinterpret_cast<LPNMTREEVIEW>(pNMHDR);
	// TODO: 在此添加控件通知处理程序代码
	
	/*TV_ITEM TreeCtrlItem;
	HTREEITEM currentItem = GetTreeCtrl().GetSelectedItem();
	TreeCtrlItem.hItem = currentItem;
	this->GetTreeCtrl().GetItem(&TreeCtrlItem);*/
	CString tempstring = this->GetTreeCtrl().GetItemText(this->GetTreeCtrl().GetSelectedItem());

	TRACE(_T(tempstring +"\n"));
	
	*pResult = 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -