CTreeCtrl::GetNextSiblingItem
HTREEITEM GetNextSiblingItem(
HTREEITEM hItem
) const;
CTreeCtrl::GetItemData
DWORD_PTR GetItemData(
HTREEITEM hItem
) const;
CTreeCtrl::Expand
BOOL Expand(
HTREEITEM hItem,
UINT nCode
);
TVE_COLLAPSE Collapses the list.
TVE_COLLAPSERESET Collapses the list and removes the child items. The TVIS_EXPANDEDONCE state flag is reset. This flag must be used with the TVE_COLLAPSE flag.
TVE_EXPAND Expands the list.
TVE_TOGGLE Collapses the list if it is currently expanded or expands it if it is currently collapsed.
CTreeCtrl::GetSelectedItem
CWnd::SetRedraw
//////////
HTREEITEM ShellTree::insertItem( HTREEITEM hParent,ShellItem* pShellItem,HTREEITEM hInsertAfter,const IconIndex& icon )
{
UINT itemState = 0;
TVITEM item = { TVIF_TEXT | TVIF_IMAGE | TVIF_SELECTEDIMAGE | TVIF_PARAM | TVIF_STATE };
if( pShellItem->GetAttributes() & SFGAO_HASSUBFOLDER )
{
item.cChildren = 1;
item.mask |= TVIF_CHILDREN;
}
item.pszText = const_cast< LPTSTR >( pShellItem->GetName() );
item.cchTextMax = MAX_PATH;
item.lParam = reinterpret_cast< LPARAM >( pShellItem );
item.iImage = icon.normal;
item.iSelectedImage = icon.open;
item.stateMask = TVIS_OVERLAYMASK;
item.state = itemState;
// 僣儕乕偵捛壛偡傞
TVINSERTSTRUCT tvins;
tvins.item = item;
tvins.hInsertAfter = hInsertAfter;
tvins.hParent = hParent;
HTREEITEM hItem = InsertItem( &tvins );
if (hParent != NULL && hParent == m_hNetworkRoot)
{
SetItemState(hItem,INDEXTOSTATEIMAGEMASK(0),TVIS_STATEIMAGEMASK);
}
else if (hParent != NULL && hParent == this->m_hLibrariesRoot)
{
SetItemState(hItem,TVIS_STATEIMAGEMASK);
}
else if (!XpFileOperation::IsDirAvailable(pShellItem->GetPath()))
{
SetItemState(hItem,TVIS_STATEIMAGEMASK);
}
else
{
if (m_StFolderManager.IsInclude(XpPath(pShellItem->GetPath(),XpPath::Type_Dir)))
{
SetCheck(hItem,TRUE);
}
else
{
SetCheck(hItem,FALSE);
}
}
return hItem; } ///////////////
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。