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

📄 hnettree.cpp

📁 枚举主机网络设备
💻 CPP
字号:
// HNetTree.cpp : implementation file
//

#include "stdafx.h"
#include "HNetTree.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CHNetTree

CHNetTree::CHNetTree()
{
}

CHNetTree::~CHNetTree()
{
}


BEGIN_MESSAGE_MAP(CHNetTree, CTreeCtrl)
	//{{AFX_MSG_MAP(CHNetTree)
	ON_NOTIFY_REFLECT(TVN_SELCHANGED, OnSelchanged)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CHNetTree message handlers

void CHNetTree::DeleteChildrenItem(HTREEITEM hItem)
{
	HTREEITEM hChildItem=GetChildItem(hItem);
	while(hChildItem!=NULL){
		HTREEITEM hTmp=hChildItem;
		hChildItem=GetNextSiblingItem(hChildItem);
		DeleteItem(hTmp);
	}
	Invalidate();
}

HTREEITEM CHNetTree::GetChildItemByText(HTREEITEM hParent,CString strText)
{
	HTREEITEM hChild=GetChildItem(hParent);
	while((hChild!=NULL)&&(GetItemText(hChild)!=strText)){
		hChild=GetNextSiblingItem(hChild);
	}
	return hChild;
}

CString CHNetTree::GetPath(HTREEITEM hItem)
{
	CString strItemText,strURL;
	while(hItem!=NULL){
		strItemText=GetItemText(hItem);
		strURL=strItemText+"\\"+strURL;
		hItem=GetParentItem(hItem);
	}
	return strURL;
}

void CHNetTree::WhenTreeItemSelected(HTREEITEM hItem)
{
	DWORD dwData=GetItemData(hItem);
	if(ITEM_DATA_DOMAIN==dwData)
		DeleteChildrenItem(hItem);

	CWnd *pWnd=GetParent();
	if(NULL==pWnd)return;
	pWnd->PostMessage(UM_CLK_TREE_ITEM,dwData,
						LPARAM(new CTreeItemSelChangedParm(hItem,dwData,GetPath(hItem))));
}

void CHNetTree::OnSelchanged(NMHDR* pNMHDR, LRESULT* pResult) 
{
	NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
	HTREEITEM hSelItem=pNMTreeView->itemNew.hItem;
	WhenTreeItemSelected(hSelItem);
	
	*pResult = 0;
}

⌨️ 快捷键说明

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