Раскрытие одной ветви полностью -- 3
метод (поправка к 1 методу)
Есть мнение что код: if( ItemHasChildren( hti ) )
приведет к проблемам если hti==NULL, потому что hti
может быть равно NULL если дерево не имело
дочерних элементов. Можно переписать код 1 метода
следующим образом:
// ExpandBranch - Expands a branch completely
// hti - Handle of the tree item to expand
void CTreeCtrlX::ExpandBranch( HTREEITEM hti )
{
=> if( ItemHasChildren( hti ) && hti != NULL){
Expand( hti, TVE_EXPAND );
hti = GetChildItem( hti );
do{
ExpandBranch( hti );
}while( (hti = GetNextSiblingItem( hti )) !
= NULL );
}
EnsureVisible( GetSelectedItem() );
}
Источник: ProtoSphere
|