📄 hnettree.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 + -