CTreeCtrl
Třída
Poskytuje funkce ovládacího prvku běžného stromového zobrazení systému Windows.
Syntaxe
class CTreeCtrl : public CWnd
Členové
Veřejné konstruktory
Název | Popis |
---|---|
CTreeCtrl::CTreeCtrl |
CTreeCtrl Vytvoří objekt. |
Veřejné metody
Název | Popis |
---|---|
CTreeCtrl::Create |
Vytvoří ovládací prvek stromového zobrazení a připojí ho k objektu CTreeCtrl . |
CTreeCtrl::CreateDragImage |
Vytvoří přetažení rastrového obrázku pro zadanou položku stromového zobrazení. |
CTreeCtrl::CreateEx |
Vytvoří ovládací prvek stromu se zadanými rozšířenými styly Windows a připojí ho k objektu CTreeCtrl . |
CTreeCtrl::DeleteAllItems |
Odstraní všechny položky v ovládacím prvku stromového zobrazení. |
CTreeCtrl::DeleteItem |
Odstraní novou položku v ovládacím prvku stromového zobrazení. |
CTreeCtrl::EditLabel |
Upraví zadanou položku stromového zobrazení na místě. |
CTreeCtrl::EndEditLabelNow |
Zruší operaci úprav na popisku položky stromového zobrazení v aktuálním ovládacím prvku stromového zobrazení. |
CTreeCtrl::EnsureVisible |
Zajišťuje, aby položka stromového zobrazení byla viditelná v ovládacím prvku stromového zobrazení. |
CTreeCtrl::Expand |
Rozbalí nebo sbalí podřízené položky zadané položky stromového zobrazení. |
CTreeCtrl::GetBkColor |
Načte aktuální barvu pozadí ovládacího prvku. |
CTreeCtrl::GetCheck |
Načte stav kontroly položky ovládacího prvku stromu. |
CTreeCtrl::GetChildItem |
Načte podřízenou položku zadaného stromového zobrazení. |
CTreeCtrl::GetCount |
Načte počet položek stromu přidružených k ovládacímu prvku stromového zobrazení. |
CTreeCtrl::GetDropHilightItem |
Načte cíl operace přetažení. |
CTreeCtrl::GetEditControl |
Načte popisovač ovládacího prvku pro úpravy použitý k úpravě zadané položky stromového zobrazení. |
CTreeCtrl::GetExtendedStyle |
Načte rozšířené styly, které používá aktuální ovládací prvek stromového zobrazení. |
CTreeCtrl::GetFirstVisibleItem |
Načte první viditelnou položku zadané položky stromového zobrazení. |
CTreeCtrl::GetImageList |
Načte popisovač seznamu obrázků přidružených k ovládacímu prvku stromového zobrazení. |
CTreeCtrl::GetIndent |
Načte posun (v pixelech) položky stromového zobrazení z nadřazeného objektu. |
CTreeCtrl::GetInsertMarkColor |
Načte barvu použitou k vykreslení značky vložení pro stromové zobrazení. |
CTreeCtrl::GetItem |
Načte atributy zadané položky stromového zobrazení. |
CTreeCtrl::GetItemData |
Vrátí hodnotu specifickou pro aplikaci přidruženou k položce. |
CTreeCtrl::GetItemExpandedImageIndex |
Načte index obrázku, který se zobrazí, když je zadaná položka aktuálního ovládacího prvku stromového zobrazení v rozbaleném stavu. |
CTreeCtrl::GetItemHeight |
Načte aktuální výšku položek stromového zobrazení. |
CTreeCtrl::GetItemImage |
Načte obrázky přidružené k položce. |
CTreeCtrl::GetItemPartRect |
Načte ohraničující obdélník pro zadanou část zadané položky v aktuálním ovládacím prvku stromového zobrazení. |
CTreeCtrl::GetItemRect |
Načte ohraničující obdélník položky stromového zobrazení. |
CTreeCtrl::GetItemState |
Vrátí stav položky. |
CTreeCtrl::GetItemStateEx |
Načte rozšířený stav zadané položky v aktuálním ovládacím prvku stromového zobrazení. |
CTreeCtrl::GetItemText |
Vrátí text položky. |
CTreeCtrl::GetLastVisibleItem |
Načte poslední rozbalenou položku v aktuálním ovládacím prvku stromového zobrazení. |
CTreeCtrl::GetLineColor |
Načte aktuální barvu čáry pro ovládací prvek stromového zobrazení. |
CTreeCtrl::GetNextItem |
Načte další položku stromového zobrazení, která odpovídá zadané relaci. |
CTreeCtrl::GetNextSiblingItem |
Načte další na stejné stejné straně zadané položky stromového zobrazení. |
CTreeCtrl::GetNextVisibleItem |
Načte další viditelnou položku zadané položky stromového zobrazení. |
CTreeCtrl::GetParentItem |
Načte nadřazenou položku zadaného stromového zobrazení. |
CTreeCtrl::GetPrevSiblingItem |
Načte předchozí položku zobrazení stromové struktury. |
CTreeCtrl::GetPrevVisibleItem |
Načte předchozí viditelnou položku zadané položky stromového zobrazení. |
CTreeCtrl::GetRootItem |
Načte kořen zadané položky stromového zobrazení. |
CTreeCtrl::GetScrollTime |
Načte maximální dobu posouvání ovládacího prvku stromového zobrazení. |
CTreeCtrl::GetSelectedCount |
Načte počet vybraných položek v aktuálním ovládacím prvku stromového zobrazení. |
CTreeCtrl::GetSelectedItem |
Načte aktuálně vybranou položku stromového zobrazení. |
CTreeCtrl::GetTextColor |
Načte aktuální barvu textu ovládacího prvku. |
CTreeCtrl::GetToolTips |
Načte popisovač podřízeného ToolTip ovládacího prvku používaného ovládacím prvkem stromového zobrazení. |
CTreeCtrl::GetVisibleCount |
Načte počet viditelných položek stromu přidružených k ovládacímu prvku stromového zobrazení. |
CTreeCtrl::HitTest |
Vrátí aktuální pozici kurzoru souvisejícího s objektem CTreeCtrl . |
CTreeCtrl::InsertItem |
Vloží novou položku do ovládacího prvku stromového zobrazení. |
CTreeCtrl::ItemHasChildren |
Vrátí nenulové hodnoty, pokud zadaná položka obsahuje podřízené položky. |
CTreeCtrl::MapAccIdToItem |
Namapuje zadaný identifikátor přístupnosti na popisovač na položku stromového zobrazení v aktuálním ovládacím prvku stromového zobrazení. |
CTreeCtrl::MapItemToAccID |
Mapuje zadaný popisovač na položku stromového zobrazení v aktuálním ovládacím prvku stromového zobrazení na identifikátor přístupnosti. |
CTreeCtrl::Select |
Vybere, posune do zobrazení nebo překreslí zadanou položku stromového zobrazení. |
CTreeCtrl::SelectDropTarget |
Překreslí položku stromu jako cíl operace přetažení. |
CTreeCtrl::SelectItem |
Vybere zadanou položku stromového zobrazení. |
CTreeCtrl::SelectSetFirstVisible |
Vybere zadanou položku stromového zobrazení jako první viditelnou položku. |
CTreeCtrl::SetAutoscrollInfo |
Nastaví míru automatického zápisu aktuálního ovládacího prvku stromového zobrazení. |
CTreeCtrl::SetBkColor |
Nastaví barvu pozadí ovládacího prvku. |
CTreeCtrl::SetCheck |
Nastaví stav kontroly položky ovládacího prvku stromu. |
CTreeCtrl::SetExtendedStyle |
Nastaví rozšířené styly pro aktuální ovládací prvek stromového zobrazení. |
CTreeCtrl::SetImageList |
Nastaví popisovač seznamu obrázků přidružených k ovládacímu prvku stromového zobrazení. |
CTreeCtrl::SetIndent |
Nastaví posun (v pixelech) položky stromového zobrazení z nadřazeného objektu. |
CTreeCtrl::SetInsertMark |
Nastaví značku vložení v ovládacím prvku stromového zobrazení. |
CTreeCtrl::SetInsertMarkColor |
Nastaví barvu použitou k vykreslení značky vložení pro stromové zobrazení. |
CTreeCtrl::SetItem |
Nastaví atributy zadané položky stromového zobrazení. |
CTreeCtrl::SetItemData |
Nastaví hodnotu specifickou pro aplikaci přidruženou k položce. |
CTreeCtrl::SetItemExpandedImageIndex |
Nastaví index obrázku, který se zobrazí, když je zadaná položka aktuálního ovládacího prvku stromového zobrazení v rozbaleném stavu. |
CTreeCtrl::SetItemHeight |
Nastaví výšku položek stromového zobrazení. |
CTreeCtrl::SetItemImage |
Přidruží obrázky k položce. |
CTreeCtrl::SetItemState |
Nastaví stav položky. |
CTreeCtrl::SetItemStateEx |
Nastaví rozšířený stav zadané položky v aktuálním ovládacím prvku stromového zobrazení. |
CTreeCtrl::SetItemText |
Nastaví text položky. |
CTreeCtrl::SetLineColor |
Nastaví aktuální barvu čáry pro ovládací prvek stromového zobrazení. |
CTreeCtrl::SetScrollTime |
Nastaví maximální dobu posouvání ovládacího prvku stromového zobrazení. |
CTreeCtrl::SetTextColor |
Nastaví barvu textu ovládacího prvku. |
CTreeCtrl::SetToolTips |
Nastaví podřízený ToolTip ovládací prvek ovládacího prvku stromového zobrazení. |
CTreeCtrl::ShowInfoTip |
Zobrazí popis pro zadanou položku v aktuálním ovládacím prvku stromového zobrazení. |
CTreeCtrl::SortChildren |
Seřadí podřízené položky dané nadřazené položky. |
CTreeCtrl::SortChildrenCB |
Seřadí podřízené položky dané nadřazené položky pomocí funkce řazení definované aplikací. |
Poznámky
Ovládací prvek stromového zobrazení je okno, které zobrazuje hierarchický seznam položek, například nadpisy v dokumentu, položky v indexu nebo soubory a adresáře na disku. Každá položka se skládá z popisku a volitelného rastrového obrázku a každá položka může mít přiřazený seznam dílčích položek. Kliknutím na položku může uživatel rozbalit a sbalit přidružený seznam dílčích položek.
Tento ovládací prvek (a proto CTreeCtrl
třída) je k dispozici pouze pro programy spuštěné v systému Windows 98 a systém Windows NT verze 4 a novější.
Další informace o použití CTreeCtrl
najdete tady:
Odkaz na ovládací prvek stromového zobrazení v sadě Windows SDK
Hierarchie dědičnosti
CTreeCtrl
Požadavky
Záhlaví: afxcmn.h
CTreeCtrl::Create
Pokud zadáte ovládací prvek stromu v šabloně dialogového okna nebo pokud používáte CTreeView
, ovládací prvek strom se vytvoří automaticky při vytvoření dialogového okna nebo zobrazení.
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parametry
dwStyle
Určuje styl ovládacího prvku stromového zobrazení. Použijte styly oken popsané v CreateWindow
části a libovolnou kombinaci stylů ovládacího prvku stromového zobrazení, jak je popsáno v sadě Windows SDK.
rect
Určuje velikost a umístění ovládacího prvku stromového zobrazení. Může to být CRect
objekt nebo RECT
struktura.
pParentWnd
Určuje nadřazené okno ovládacího prvku stromového zobrazení, obvykle .CDialog
Nesmí to být NULL
.
nID
Určuje ID ovládacího prvku stromového zobrazení.
Návratová hodnota
Nenulové, pokud byla inicializace úspěšná; jinak 0.
Poznámky
Pokud chcete vytvořit ovládací prvek stromu jako podřízené okno některého jiného okna, použijte členovou Create
funkci. Pokud vytvoříte ovládací prvek strom pomocí Create
, musíte jej WS_VISIBLE
předat kromě jiných stylů stromového zobrazení.
Sestavíte ho CTreeCtrl
ve dvou krocích. Nejprve zavolejte konstruktor a potom volání Create
, které vytvoří ovládací prvek stromového zobrazení a připojí ho k objektu CTreeCtrl
.
Chcete-li vytvořit ovládací prvek stromu s rozšířenými styly oken, místo volání CreateEx
Create
.
Příklad
// Assuming your window has a CTreeCtrl member named m_TreeCtrl,
// you can create the tree control window with a child ID of ID_MYTREE
// using a call like this:
m_TreeCtrl.Create(WS_VISIBLE | WS_TABSTOP | WS_CHILD | WS_BORDER |
TVS_HASBUTTONS | TVS_LINESATROOT | TVS_HASLINES |
TVS_DISABLEDRAGDROP | TVS_NOTOOLTIPS | TVS_EDITLABELS,
CRect(10, 10, 300, 100), this, ID_MYTREE);
// The control will have the appropriate window styles, and the tree
// control styles specified are those most commonly used.
CTreeCtrl::CreateEx
Voláním této funkce vytvoříte ovládací prvek (podřízené okno) a přidružíte ho k objektu CTreeCtrl
.
virtual BOOL CreateEx(
DWORD dwExStyle,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parametry
dwExStyle
Určuje rozšířený styl vytvářeného ovládacího prvku. Seznam rozšířených stylů Windows najdete v parametru dwExStyle
sady CreateWindowEx
Windows SDK.
dwStyle
Určuje styl ovládacího prvku stromového zobrazení. Použijte styly oken popsané v CreateWindow
části a libovolnou kombinaci stylů ovládacího prvku stromového zobrazení, jak je popsáno v sadě Windows SDK.
rect
Odkaz na RECT
strukturu popisující velikost a umístění okna, které se má vytvořit, v souřadnicích pParentWnd
klienta .
pParentWnd
Ukazatel na okno, které je nadřazeným objektem ovládacího prvku.
nID
ID podřízeného okna ovládacího prvku.
Návratová hodnota
Nenulové, pokud je úspěšné jinak 0.
Poznámky
Create
Místo CreateEx
použití rozšířených stylů Windows určených předmětu WS_EX_
rozšířeného stylu Windows .
CTreeCtrl::CreateDragImage
Voláním této funkce vytvoříte přetažení rastru pro danou položku v ovládacím prvku stromového zobrazení, vytvoříte seznam obrázků pro rastrový obrázek a přidáte rastrový obrázek do seznamu obrázků.
CImageList* CreateDragImage(HTREEITEM hItem);
Parametry
hItem
Úchyt položky stromu, kterou chcete přetáhnout.
Návratová hodnota
Ukazatel na seznam obrázků, do kterého byl v případě úspěchu přidán přetažení rastrového obrázku; jinak NULL
.
Poznámky
Aplikace používá funkce seznamu obrázků k zobrazení obrázku při přetažení položky.
Objekt CImageList
je trvalý a po dokončení ho musíte odstranit. Příklad:
HTREEITEM hItem = m_TreeCtrl.GetSelectedItem();
CImageList *pImageList = m_TreeCtrl.CreateDragImage(hItem);
// Do something with the image list.
delete pImageList;
CTreeCtrl::CTreeCtrl
CTreeCtrl
Vytvoří objekt.
CTreeCtrl();
CTreeCtrl::DeleteAllItems
Voláním této funkce odstraníte všechny položky z ovládacího prvku stromového zobrazení.
BOOL DeleteAllItems();
Návratová hodnota
Nenulové, pokud je úspěšné; jinak 0.
Příklad
// The underlying Windows API always returns TRUE
VERIFY(m_TreeCtrl.DeleteAllItems());
CTreeCtrl::DeleteItem
Voláním této funkce odstraníte položku z ovládacího prvku stromového zobrazení.
BOOL DeleteItem(HTREEITEM hItem);
Parametry
hItem
Popisovač položky stromu, která se má odstranit. Pokud hitem
má TVI_ROOT
hodnotu, odstraní se všechny položky z ovládacího prvku stromového zobrazení.
Návratová hodnota
Nenulové, pokud je úspěšné; jinak 0.
Příklad
// Look at all of the root-level items
HTREEITEM hCurrent = m_TreeCtrl.GetChildItem(TVI_ROOT);
while (hCurrent != NULL)
{
// Get the text for the item. Notice we use TVIF_TEXT because
// we want to retrieve only the text, but also specify TVIF_HANDLE
// because we're getting the item by its handle.
TVITEM item;
TCHAR szText[1024];
item.hItem = hCurrent;
item.mask = TVIF_TEXT | TVIF_HANDLE;
item.pszText = szText;
item.cchTextMax = 1024;
BOOL bWorked = m_TreeCtrl.GetItem(&item);
// Try to get the next item
hCurrent = m_TreeCtrl.GetNextItem(hCurrent, TVGN_NEXT);
// If we successfuly retrieved an item, and the item's text
// contains a lowercase letter 'e', delete the item.
if (bWorked && _tcschr(item.pszText, 'e'))
m_TreeCtrl.DeleteItem(item.hItem);
}
CTreeCtrl::EditLabel
Voláním této funkce zahájíte místní úpravy textu zadané položky.
CEdit* EditLabel(HTREEITEM hItem);
Parametry
hItem
Popisovač položky stromu, kterou chcete upravit.
Návratová hodnota
V případě úspěchu ukazatel na CEdit
objekt, který slouží k úpravě textu položky; jinak NULL
.
Poznámky
Úpravy se provádí tak, že nahradíte text položky jedním řádkem, který obsahuje text.
Příklad
// Make sure the focus is set to the tree control.
m_TreeCtrl.SetFocus();
// Show the edit control on the label of the selected item.
// The tree control must have the TVS_EDITLABELS style set.
HTREEITEM hSel = m_TreeCtrl.GetSelectedItem();
CEdit *pmyEdit = m_TreeCtrl.EditLabel(hSel);
ASSERT(pmyEdit != NULL);
CTreeCtrl::EndEditLabelNow
Ukončí operaci úprav na popisku položky stromového zobrazení v aktuálním ovládacím prvku stromového zobrazení.
BOOL EndEditLabelNow(BOOL fCancelWithoutSave);
Parametry
fCancelWithoutSave
[v] TRUE
zahození změn položky stromového zobrazení před uzavřením operace úprav nebo FALSE
uložením změn položky stromového zobrazení před uzavřením operace.
Návratová hodnota
TRUE
pokud je tato metoda úspěšná; v opačném případě . FALSE
Poznámky
Tato metoda odešle TVM_ENDEDITLABELNOW
zprávu popsanou v sadě Windows SDK.
CTreeCtrl::EnsureVisible
Voláním této funkce zajistíte, aby byla viditelná položka stromového zobrazení.
BOOL EnsureVisible(HTREEITEM hItem);
Parametry
hItem
Úchyt položky stromu, která je viditelná.
Návratová hodnota
Vrátí TRUE
, pokud systém posouvat položky v ovládacím prvku stromové zobrazení, aby se zajistilo, že je zadaná položka viditelná. V opačném případě je FALSE
vrácená hodnota .
Poznámky
V případě potřeby funkce rozbalí nadřazenou položku nebo posune ovládací prvek stromového zobrazení tak, aby byla položka viditelná.
Příklad
HTREEITEM hItem = m_TreeCtrl.GetSelectedItem();
// hmyItem is the item that I want to ensure is visible.
HTREEITEM hmyItem = m_TreeCtrl.GetChildItem(hItem);
// Expand the parent, if possible.
HTREEITEM hParent = m_TreeCtrl.GetParentItem(hmyItem);
if (hParent != NULL)
m_TreeCtrl.Expand(hParent, TVE_EXPAND);
// Ensure the item is visible.
m_TreeCtrl.EnsureVisible(hmyItem);
CTreeCtrl::Expand
Voláním této funkce rozbalíte nebo sbalíte seznam podřízených položek přidružených k dané nadřazené položce.
BOOL Expand(
HTREEITEM hItem,
UINT nCode);
Parametry
hItem
Úchyt rozbalené položky stromu
nCode
Příznak označující typ akce, která se má provést. Tento příznak může mít jednu z následujících hodnot:
TVE_COLLAPSE
Sbalí seznam.TVE_COLLAPSERESET
Sbalí seznam a odebere podřízené položky. PříznakTVIS_EXPANDEDONCE
stavu se resetuje. Tento příznak musí být použit s příznakemTVE_COLLAPSE
.TVE_EXPAND
Rozbalí seznam.TVE_TOGGLE
Sbalí seznam, pokud je aktuálně rozbalený nebo rozbalí, pokud je aktuálně sbalený.
Návratová hodnota
Nenulové, pokud je úspěšné; jinak 0.
Příklad
Podívejte se na příklad pro CTreeCtrl::EnsureVisible
.
CTreeCtrl::GetBkColor
Tato členová funkce implementuje chování zprávy TVM_GETBKCOLOR
Win32, jak je popsáno v sadě Windows SDK.
COLORREF GetBkColor() const;
Návratová hodnota
Hodnota COLORREF
, která představuje aktuální barvu pozadí okna ovládacího prvku. Pokud je tato hodnota -1, ovládací prvek používá barvu systémového okna. V tomto případě můžete použít ::GetSysColor(COLOR_WINDOW)
k získání aktuální barvy systému, kterou ovládací prvek používá.
Příklad
Podívejte se na příklad pro CTreeCtrl::SetTextColor
.
CTreeCtrl::GetCheck
Voláním této členské funkce načtěte stav kontroly položky.
BOOL GetCheck(HTREEITEM hItem) const;
Parametry
hItem
Informace HTREEITEM
o tom, o kterých chcete získat informace o stavu.
Návratová hodnota
Nenulová, pokud je zaškrtnutá položka ovládacího prvku stromu; jinak 0.
Příklad
Podívejte se na příklad pro CTreeCtrl::SetCheck
.
CTreeCtrl::GetChildItem
Voláním této funkce načte položku stromového zobrazení, která je podřízenou položkou určenou hItem
.
HTREEITEM GetChildItem(HTREEITEM hItem) const;
Parametry
hItem
Popisovač položky stromu
Návratová hodnota
Popisovač podřízené položky v případě úspěchu; jinak NULL
.
Příklad
HTREEITEM hmyItem = m_TreeCtrl.GetSelectedItem();
// Delete all of the children of hmyItem.
if (m_TreeCtrl.ItemHasChildren(hmyItem))
{
HTREEITEM hNextItem;
HTREEITEM hChildItem = m_TreeCtrl.GetChildItem(hmyItem);
while (hChildItem != NULL)
{
hNextItem = m_TreeCtrl.GetNextItem(hChildItem, TVGN_NEXT);
m_TreeCtrl.DeleteItem(hChildItem);
hChildItem = hNextItem;
}
}
CTreeCtrl::GetCount
Voláním této funkce načtěte počet položek v ovládacím prvku stromového zobrazení.
UINT GetCount() const;
Návratová hodnota
Počet položek v ovládacím prvku stromového zobrazení
Příklad
// Delete all of the items from the tree control.
m_TreeCtrl.DeleteAllItems();
ASSERT(m_TreeCtrl.GetCount() == 0);
CTreeCtrl::GetDropHilightItem
Voláním této funkce načtěte položku, která je cílem operace přetažení.
HTREEITEM GetDropHilightItem() const;
Návratová hodnota
Popisovač položky byl vyřazen, pokud byl úspěšný; jinak NULL
.
Příklad
// Set the item at the point myPoint as the drop target.
UINT uFlags;
HTREEITEM hItem = m_TreeCtrl.HitTest(myPoint, &uFlags);
if ((hItem != NULL) && (TVHT_ONITEM & uFlags))
{
m_TreeCtrl.SelectDropTarget(hItem);
ASSERT(m_TreeCtrl.GetDropHilightItem() == hItem);
}
CTreeCtrl::GetEditControl
Voláním této funkce načtěte popisovač ovládacího prvku pro úpravy, který se používá k úpravě textu položky stromového zobrazení.
CEdit* GetEditControl() const;
Návratová hodnota
Ukazatel na ovládací prvek pro úpravy použitý k úpravě textu položky, pokud byl úspěšný; jinak NULL
.
Příklad
// The string replacing the text in the edit control.
LPCTSTR lpszmyString = _T("New text!");
// Replace the text in the label edit control, if possible.
CEdit *pEdit = m_TreeCtrl.GetEditControl();
if (pEdit != NULL)
{
pEdit->SetWindowText(lpszmyString);
}
CTreeCtrl::GetExtendedStyle
Načte rozšířené styly, které používá aktuální ovládací prvek stromového zobrazení.
DWORD GetExtendedStyle() const;
Návratová hodnota
Hodnota, která obsahuje bitové kombinace (OR) rozšířené styly ovládacího prvku stromového zobrazení. Další informace naleznete v tématu Rozšířené styly ovládacího prvku Stromové zobrazení.
Poznámky
Tato metoda odešle TVM_GETEXTENDEDSTYLE
zprávu popsanou v sadě Windows SDK.
CTreeCtrl::GetFirstVisibleItem
Voláním této funkce načtěte první viditelnou položku ovládacího prvku stromového zobrazení.
HTREEITEM GetFirstVisibleItem() const;
Návratová hodnota
Popisovač první viditelné položky; jinak NULL
.
Příklad
Podívejte se na příklad pro CTreeCtrl::SetCheck
.
CTreeCtrl::GetImageList
Voláním této funkce načtete popisovač normálního nebo stavového seznamu obrázků přidružených k ovládacímu prvku stromového zobrazení.
CImageList* GetImageList(UINT nImageList) const;
Parametry
nImageList
Typ seznamu obrázků, který chcete načíst. Seznam obrázků může mít jednu z následujících hodnot:
TVSIL_NORMAL
Načte seznam normálních obrázků, který obsahuje vybrané a nevybrané obrázky pro položku stromového zobrazení.TVSIL_STATE
Načte seznam stavových imagí, který obsahuje obrázky pro položky stromového zobrazení, které jsou ve stavu definovaném uživatelem.
Návratová hodnota
Ukazatel na seznam obrázků ovládacího prvku v případě úspěchu; jinak NULL
.
Poznámky
Každá položka v ovládacím prvku stromového zobrazení může mít přidruženou dvojici rastrových obrázků. Při výběru položky se zobrazí jeden obrázek a druhý se zobrazí, když položka není vybraná. Položka může například při výběru zobrazit otevřenou složku a uzavřenou složku, pokud není vybraná.
Další informace o seznamech obrázků najdete v předmětu CImageList
.
Příklad
ASSERT(m_TreeCtrl.GetImageList(TVSIL_NORMAL) == NULL);
m_TreeCtrl.SetImageList(&m_TreeImages, TVSIL_NORMAL);
ASSERT(m_TreeCtrl.GetImageList(TVSIL_NORMAL) == &m_TreeImages);
CTreeCtrl::GetIndent
Voláním této funkce načtete množství v pixelech, které jsou podřízené položky odsazené vzhledem k nadřazeným položkám.
UINT GetIndent() const;
Návratová hodnota
Velikost odsazení měřená v pixelech.
Příklad
// Double the indent.
UINT uIndent = m_TreeCtrl.GetIndent();
m_TreeCtrl.SetIndent(2 * uIndent);
CTreeCtrl::GetInsertMarkColor
Tato členová funkce implementuje chování zprávy TVM_GETINSERTMARKCOLOR
Win32, jak je popsáno v sadě Windows SDK.
COLORREF GetInsertMarkColor() const;
Návratová hodnota
Hodnota COLORREF
, která obsahuje aktuální barvu značky vložení.
Příklad
// Use the highliight color for the insert mark color.
COLORREF crColor = ::GetSysColor(COLOR_HIGHLIGHT);
m_TreeCtrl.SetInsertMarkColor(crColor);
ASSERT(m_TreeCtrl.GetInsertMarkColor() == crColor);
CTreeCtrl::GetItem
Voláním této funkce načtěte atributy zadané položky stromového zobrazení.
BOOL GetItem(TVITEM* pItem) const;
Parametry
pItem
Ukazatel na TVITEM
strukturu, jak je popsáno v sadě Windows SDK.
Návratová hodnota
Nenulové, pokud je úspěšné; jinak 0.
Příklad
Podívejte se na příklad pro CTreeCtrl::DeleteItem
.
CTreeCtrl::GetItemData
Voláním této funkce načtěte hodnotu specifickou pro aplikaci přidruženou k zadané položce.
DWORD_PTR GetItemData(HTREEITEM hItem) const;
Parametry
hItem
Popisovač položky, jejíž data se mají načíst.
Návratová hodnota
Hodnota specifická pro aplikaci s velikostí ukazatele přidružená k položce určené .hItem
Příklad
HTREEITEM hmyItem = m_TreeCtrl.GetSelectedItem();
// Delete all of the children of hmyItem whose item data is
// not equal to zero.
if (m_TreeCtrl.ItemHasChildren(hmyItem))
{
HTREEITEM hNextItem;
HTREEITEM hChildItem = m_TreeCtrl.GetChildItem(hmyItem);
while (hChildItem != NULL)
{
hNextItem = m_TreeCtrl.GetNextItem(hChildItem, TVGN_NEXT);
if (m_TreeCtrl.GetItemData(hChildItem) != 0)
{
m_TreeCtrl.DeleteItem(hChildItem);
}
hChildItem = hNextItem;
}
}
CTreeCtrl::GetItemExpandedImageIndex
Načte index obrázku, který se zobrazí, když je zadaná položka aktuálního ovládacího prvku stromového zobrazení v rozbaleném stavu.
int GetItemExpandedImageIndex(HTREEITEM hItem)const;
Parametry
hItem
[v] Popisovač položky ovládacího prvku stromového zobrazení
Návratová hodnota
Index obrázku, který se má zobrazit, když je zadaná položka v rozbaleném stavu.
Poznámky
Tato metoda odešle TVM_GETITEM
zprávu popsanou v sadě Windows SDK. Tato zpráva vrátí TVITEMEX
strukturu, která popisuje položku ovládacího prvku stromového zobrazení, a pak tato metoda načte iExpandedImage
člena z této struktury.
CTreeCtrl::GetItemHeight
Tato členová funkce implementuje chování zprávy TVM_GETITEMHEIGHT
Win32, jak je popsáno v sadě Windows SDK.
SHORT GetItemHeight() const;
Návratová hodnota
Výška položky v pixelech.
Příklad
// Double the height of the items.
SHORT sHeight = m_TreeCtrl.GetItemHeight();
m_TreeCtrl.SetItemHeight(2 * sHeight);
CTreeCtrl::GetItemImage
Každá položka v ovládacím prvku stromového zobrazení může mít přidruženou dvojici rastrových obrázků.
BOOL GetItemImage(
HTREEITEM hItem,
int& nImage,
int& nSelectedImage) const;
Parametry
hItem
Popisovač položky, jejíž obrázek se má načíst.
nImage
Celé číslo, které obdrží index obrázku položky v seznamu obrázků ovládacího prvku stromového zobrazení.
nSelectedImage
Celé číslo, které obdrží index vybraného obrázku položky v seznamu obrázků ovládacího prvku stromového zobrazení.
Návratová hodnota
Nenulové, pokud je úspěšné; jinak 0.
Poznámky
Obrázky se zobrazí na levé straně popisku položky. Při výběru položky se zobrazí jeden obrázek a druhý se zobrazí, když položka není vybraná. Položka může například při výběru zobrazit otevřenou složku a uzavřenou složku, pokud není vybraná.
Voláním této funkce načtete index obrázku položky a jeho vybraného obrázku v seznamu obrázků ovládacího prvku stromového zobrazení.
Příklad
HTREEITEM hmyItem = m_TreeCtrl.GetSelectedItem();
// If the selected image is the same as the nonselected image
// then make the selected image one more than the nonselected image.
if (m_TreeCtrl.ItemHasChildren(hmyItem))
{
HTREEITEM hItem = m_TreeCtrl.GetChildItem(hmyItem);
int nImage, nSelectedImage;
while (hItem != NULL)
{
m_TreeCtrl.GetItemImage(hItem, nImage, nSelectedImage);
if (nImage == nSelectedImage)
{
m_TreeCtrl.SetItemImage(hItem, nImage, nImage + 1);
}
hItem = m_TreeCtrl.GetNextSiblingItem(hItem);
}
}
CTreeCtrl::GetItemPartRect
Načte ohraničující obdélník pro zadanou část zadané položky v aktuálním ovládacím prvku stromového zobrazení.
BOOL GetItemPartRect(
HTREEITEM hItem,
int nPart,
LPRECT lpRect)const;
Parametry
hItem
[v] Popisovač položky ovládacího prvku stromového zobrazení
nPart
[v] Identifikátor části. Musí být nastavena na TVGIPR_BUTTON
hodnotu .
lpRect
[ven] Ukazatel na RECT
strukturu Pokud je tato metoda úspěšná, struktura obdrží obdélníkové souřadnice části určené hItem
a nPart
.
Návratová hodnota
TRUE
pokud je tato metoda úspěšná; v opačném případě . FALSE
Poznámky
Každá položka ovládacího prvku stromu je ohraničena grafickým obdélníkem. Pokaždé, když kliknete na bod v tomto obdélníku, je položka označena jako hit. Tato metoda vrátí největší obdélník tak, aby při kliknutí na bod v obdélníku byla nalezena položka identifikovaná parametrem hItem
.
Tato metoda odešle TVM_GETITEMPARTRECT
zprávu popsanou v sadě Windows SDK. Další informace najdete v makrech TreeView_GetItemPartRect
.
Příklad
První příklad kódu definuje proměnnou, m_treeCtrl
která se používá pro přístup k aktuálnímu ovládacímu prvku stromového zobrazení. Příklad kódu také definuje celé číslo bez znaménka a několik HTREEITEM
proměnných. Tyto proměnné se používají v dalším příkladu.
public:
// Variable to access tree control.
CTreeCtrl m_treeCtrl;
// Variable to access splitbutton control.
CSplitButton m_splitbutton;
// Accessibility identifier
UINT accIdUS;
// HTREEITEMs
HTREEITEM hCountry;
HTREEITEM hPA;
HTREEITEM hWA;
Následující příklad kódu používá identifikátor přístupnosti a metodu CTreeCtrl::MapAccIdToItem
k načtení popisovače do kořenové položky stromového zobrazení. Pak příklad použije úchyt a metodu CTreeCtrl::GetItemPartRect
k vykreslení 3D obdélníku kolem této položky. V předchozí části příkladu kódu, který se nezobrazuje, jsme vytvořili stromové zobrazení, které se skládá z kořenového uzlu země/oblasti pro USA, pod uzly států Pennsylvania a Washington a stromové položky pro města v těchto státech. Metodu CTreeCtrl::MapItemToAccID
jsme použili k přidružení položky kořenového stromového zobrazení k identifikátoru přístupnosti.
CRect rect;
HTREEITEM hUS = m_treeCtrl.MapAccIdToItem(accIdUS);
m_treeCtrl.GetItemPartRect(hUS, TVGIPR_BUTTON, &rect);
m_treeCtrl.GetDC()->Draw3dRect(&rect, RGB(255, 0, 0), RGB(0, 0, 255));
CTreeCtrl::GetItemRect
Voláním této funkce načtete ohraničující obdélník pro hItem a určíte, jestli je viditelný nebo ne.
BOOL GetItemRect(
HTREEITEM hItem,
LPRECT lpRect,
BOOL bTextOnly) const;
Parametry
hItem
Popisovač položky ovládacího prvku stromového zobrazení
lpRect
Ukazatel na RECT
strukturu, která přijímá ohraničující obdélník. Souřadnice jsou relativní vzhledem k levému hornímu rohu ovládacího prvku stromového zobrazení.
bTextOnly
Pokud je tento parametr nenulový, ohraničující obdélník obsahuje pouze text položky. V opačném případě obsahuje celý řádek, který položka zabírá v ovládacím prvku stromového zobrazení.
Návratová hodnota
Nenulové, pokud je položka viditelná, s ohraničující obdélník obsažený v lpRect
. V opačném případě 0 s neinicializovaným lpRect
.
Příklad
HTREEITEM hmyItem = m_TreeCtrl.GetSelectedItem();
// Dump the bounds of hmyItem.
if (hmyItem != NULL)
{
RECT r;
m_TreeCtrl.GetItemRect(hmyItem, &r, FALSE);
TRACE(TEXT("left = %d, top = %d, right = %d, bottom = %d\r\n"),
r.left,
r.top,
r.right,
r.bottom);
}
CTreeCtrl::GetItemState
Vrátí stav položky určené hItem
hodnotou .
UINT GetItemState(
HTREEITEM hItem,
UINT nStateMask) const;
Parametry
hItem
Popisovač položky, jejíž stav se má načíst.
nStateMask
Maska označující jeden nebo více stavů, které se mají načíst. Další informace o možných hodnotách nStateMask
naleznete v diskuzi o state
struktuře a stateMask
členy TVITEM
struktury v sadě Windows SDK.
Návratová hodnota
A UINT
, který obsahuje bitový operátor OR jazyka C++ (|
) hodnot určených parametrem nStateMask
. Informace o možných hodnotách naleznete v tématu CTreeCtrl::GetItem
. Pokud chcete najít hodnotu pro určitý stav, proveďte bitové operátorY AND jazyka C++ (&
) f hodnotu stavu a návratovou hodnotu, jak je znázorněno v následujícím příkladu.
Příklad
// Show all of the visible items in bold.
HTREEITEM hItem = m_TreeCtrl.GetFirstVisibleItem();
while (hItem != NULL)
{
m_TreeCtrl.SetItemState(hItem, TVIS_BOLD, TVIS_BOLD);
ASSERT(TVIS_BOLD & m_TreeCtrl.GetItemState(hItem, TVIS_BOLD));
hItem = m_TreeCtrl.GetNextVisibleItem(hItem);
}
CTreeCtrl::GetItemStateEx
Načte rozšířený stav zadané položky v aktuálním ovládacím prvku stromového zobrazení.
UINT GetItemStateEx(HTREEITEM hItem) const;
Parametry
hItem
[v] Popisovač položky ovládacího prvku stromového zobrazení
Návratová hodnota
Rozšířený stav položky. Další informace najdete v uStateEx
členu TVITEMEX
struktury.
Poznámky
Tato metoda odešle TVM_GETITEM
zprávu popsanou v sadě Windows SDK. Tato zpráva vrátí TVITEMEX
strukturu, která popisuje položku ovládacího prvku stromového zobrazení a tato metoda načte uStateEx
člena z této struktury.
CTreeCtrl::GetItemText
Vrátí text položky určené parametrem hItem
.
CString GetItemText(HTREEITEM hItem) const;
Parametry
hItem
Popisovač položky, jejíž text se má načíst.
Návratová hodnota
Objekt CString
obsahující text položky.
Příklad
Podívejte se na příklad pro CTreeCtrl::GetNextItem
.
CTreeCtrl::GetLastVisibleItem
Načte poslední nevyexpandovanou položku uzlu v aktuálním ovládacím prvku stromového zobrazení.
HTREEITEM GetLastVisibleItem() const;
Návratová hodnota
Popisovač poslední nevyexpandované položky uzlu, pokud je metoda úspěšná; v opačném případě . NULL
Poznámky
Tato metoda odešle TVM_GETNEXTITEM
zprávu popsanou v sadě Windows SDK. Další informace naleznete v TVGN_LASTVISIBLE
příznaku v parametru flag
této zprávy.
Příklad
První příklad kódu definuje proměnnou, m_treeCtrl
která se používá pro přístup k aktuálnímu ovládacímu prvku stromového zobrazení. Příklad kódu také definuje celé číslo bez znaménka a několik HTREEITEM
proměnných. Jedna nebo více těchto proměnných se používá v dalším příkladu.
public:
// Variable to access tree control.
CTreeCtrl m_treeCtrl;
// Variable to access splitbutton control.
CSplitButton m_splitbutton;
// Accessibility identifier
UINT accIdUS;
// HTREEITEMs
HTREEITEM hCountry;
HTREEITEM hPA;
HTREEITEM hWA;
Následující příklad kódu načte popisovač poslední nevyexpandované položky uzlu stromového zobrazení a potom nakreslí kolem této položky 3D obdélník. V předchozí části příkladu kódu, který se nezobrazuje, jsme vytvořili stromové zobrazení, které se skládá z kořenového uzlu země/oblasti pro USA, pod uzly států Pennsylvania a Washington a stromové položky pro města v těchto státech.
CRect rect;
HTREEITEM hLast = m_treeCtrl.GetLastVisibleItem();
m_treeCtrl.GetItemPartRect(hLast, TVGIPR_BUTTON, &rect);
m_treeCtrl.GetDC()->Draw3dRect(&rect, RGB(255, 0, 0), RGB(0, 0, 255));
CTreeCtrl::GetLineColor
Tato členová funkce implementuje chování zprávy TVM_GETLINECOLOR
Win32, jak je popsáno v sadě Windows SDK.
COLORREF GetLineColor() const;
Návratová hodnota
Aktuální barva čáry.
Příklad
COLORREF cr = m_TreeCtrl.GetLineColor();
CTreeCtrl::GetNextItem
Voláním této funkce načtěte položku stromového zobrazení, která má zadanou relaci označenou parametrem nCode
, do hItem
.
HTREEITEM GetNextItem(
HTREEITEM hItem,
UINT nCode) const;
Parametry
hItem
Popisovač položky stromu
nCode
Příznak označující typ vztahu k hItem
. Tento příznak může být jedna z následujících hodnot:
TVGN_CARET
Načte aktuálně vybranou položku.TVGN_CHILD
Načte první podřízenou položku položky určené parametremhItem
.TVGN_DROPHILITE
Načte položku, která je cílem operace přetažení.TVGN_FIRSTVISIBLE
Načte první viditelnou položku.TVGN_LASTVISIBLE
Načte poslední rozbalenou položku ve stromu. Tím se nenačte poslední viditelná položka v okně stromového zobrazení.TVGN_NEXT
Načte další položku na stejné straně.TVGN_NEXTVISIBLE
Načte další viditelnou položku, která následuje za zadanou položkou.TVGN_PARENT
Načte nadřazenou položku.TVGN_PREVIOUS
Načte předchozí položku na stejné straně.TVGN_PREVIOUSVISIBLE
Načte první viditelnou položku, která předchází zadané položce.TVGN_ROOT
Načte první podřízenou položku kořenové položky, ze které je zadaná položka součástí.
Návratová hodnota
Popisovač další položky v případě úspěchu; jinak NULL
.
Poznámky
Tato funkce se vrátí NULL
, pokud je načtená položka kořenovým uzlem stromu. Pokud například tuto zprávu použijete s TVGN_PARENT
příznakem u podřízeného uzlu stromového zobrazení na první úrovni, vrátí NULL
se zpráva .
Příklad
Příklad použití GetNextItem
ve smyčce najdete v tématu CTreeCtrl::DeleteItem
.
// find the currently selected item
HTREEITEM hCurSel = m_TreeCtrl.GetNextItem(TVI_ROOT, TVGN_CARET);
// report it to the user
if (hCurSel == NULL)
{
AfxMessageBox(_T("There is no selected item"));
}
else
{
CString str;
str.Format(_T("The currently selected item is \"%s\""),
(LPCTSTR)m_TreeCtrl.GetItemText(hCurSel));
AfxMessageBox((LPCTSTR)str);
}
CTreeCtrl::GetNextSiblingItem
Voláním této funkce načteme další stejné hItem
číslo .
HTREEITEM GetNextSiblingItem(HTREEITEM hItem) const;
Parametry
hItem
Popisovač položky stromu
Návratová hodnota
Popisovač další položky na stejné straně; jinak NULL
.
Příklad
HTREEITEM hmyItem = m_TreeCtrl.GetSelectedItem();
// Show all of the children of hmyItem in bold.
if (m_TreeCtrl.ItemHasChildren(hmyItem))
{
HTREEITEM hItem = m_TreeCtrl.GetChildItem(hmyItem);
while (hItem != NULL)
{
m_TreeCtrl.SetItemState(hItem, TVIS_BOLD, TVIS_BOLD);
hItem = m_TreeCtrl.GetNextSiblingItem(hItem);
}
}
CTreeCtrl::GetNextVisibleItem
Voláním této funkce načtěte další viditelnou položku hItem
.
HTREEITEM GetNextVisibleItem(HTREEITEM hItem) const;
Parametry
hItem
Popisovač položky stromu
Návratová hodnota
Popisovač další viditelné položky; jinak NULL
.
Příklad
Podívejte se na příklad pro CTreeCtrl::SetCheck
.
CTreeCtrl::GetParentItem
Voláním této funkce načtěte nadřazenou položku hItem
.
HTREEITEM GetParentItem(HTREEITEM hItem) const;
Parametry
hItem
Popisovač položky stromu
Návratová hodnota
Popisovač nadřazené položky; jinak NULL
.
Poznámky
Tato funkce se vrátí NULL
, pokud nadřazená položka je kořenovým uzlem stromu.
Příklad
Podívejte se na příklad pro CTreeCtrl::EnsureVisible
.
CTreeCtrl::GetPrevSiblingItem
Voláním této funkce načtete předchozí stejné hItem
číslo na stejné straně .
HTREEITEM GetPrevSiblingItem(HTREEITEM hItem) const;
Parametry
hItem
Popisovač položky stromu
Návratová hodnota
Popisovač předchozí stejné kategorie; jinak NULL
.
Příklad
HTREEITEM hmyItem = m_TreeCtrl.GetSelectedItem();
// Show all of the previous siblings of hmyItem in bold.
HTREEITEM hItem = hmyItem;
while (hItem != NULL)
{
m_TreeCtrl.SetItemState(hItem, TVIS_BOLD, TVIS_BOLD);
hItem = m_TreeCtrl.GetPrevSiblingItem(hItem);
}
CTreeCtrl::GetPrevVisibleItem
Voláním této funkce načtěte předchozí viditelnou položku .hItem
HTREEITEM GetPrevVisibleItem(HTREEITEM hItem) const;
Parametry
hItem
Popisovač položky stromu
Návratová hodnota
Popisovač předchozí viditelné položky; jinak NULL
.
Příklad
HTREEITEM hmyItem = m_TreeCtrl.GetSelectedItem();
// Show all of the previous visible items of hmyItem in bold.
HTREEITEM hItem = hmyItem;
while (hItem != NULL)
{
m_TreeCtrl.SetItemState(hItem, TVIS_BOLD, TVIS_BOLD);
hItem = m_TreeCtrl.GetPrevVisibleItem(hItem);
}
CTreeCtrl::GetRootItem
Voláním této funkce načtěte kořenovou položku ovládacího prvku stromového zobrazení.
HTREEITEM GetRootItem() const;
Návratová hodnota
Popisovač kořenové položky; jinak NULL
.
Příklad
Podívejte se na příklad pro CTreeCtrl::EditLabel
.
CTreeCtrl::GetScrollTime
Voláním této členské funkce načtěte maximální dobu posouvání ovládacího prvku stromového zobrazení.
UINT GetScrollTime() const;
Návratová hodnota
Maximální doba posouvání v milisekundách.
Poznámky
Tato členová funkce implementuje chování zprávy TVM_GETSCROLLTIME
Win32, jak je popsáno v sadě Windows SDK.
CTreeCtrl::GetSelectedCount
Načte počet vybraných položek v aktuálním ovládacím prvku stromového zobrazení.
UINT GetSelectedCount();
Návratová hodnota
Počet vybraných položek.
Poznámky
Tato metoda odešle TVM_GETSELECTEDCOUNT
zprávu popsanou v sadě Windows SDK.
CTreeCtrl::GetSelectedItem
Voláním této funkce načtěte aktuálně vybranou položku ovládacího prvku stromového zobrazení.
HTREEITEM GetSelectedItem() const;
Návratová hodnota
Popisovač vybrané položky; jinak NULL
.
Příklad
// Expand the selected item and make it visible, if possible.
HTREEITEM hItem = m_TreeCtrl.GetSelectedItem();
if ((hItem != NULL) && m_TreeCtrl.ItemHasChildren(hItem))
{
m_TreeCtrl.Expand(hItem, TVE_EXPAND);
m_TreeCtrl.EnsureVisible(hItem);
}
CTreeCtrl::GetTextColor
Tato členová funkce implementuje chování zprávy TVM_GETTEXTCOLOR
Win32, jak je popsáno v sadě Windows SDK.
COLORREF GetTextColor() const;
Návratová hodnota
Hodnota COLORREF
, která představuje aktuální barvu textu. Pokud je tato hodnota -1, ovládací prvek používá pro barvu textu systémovou barvu.
Příklad
Podívejte se na příklad pro CTreeCtrl::SetTextColor
.
CTreeCtrl::GetToolTips
Tato členová funkce implementuje chování zprávy TVM_GETTOOLTIPS
Win32, jak je popsáno v sadě Windows SDK.
CToolTipCtrl* GetToolTips() const;
Návratová hodnota
Ukazatel na CToolTipCtrl
objekt, který bude použit ovládacím prvkem strom. Pokud členová Create
funkce používá styl TVS_NOTOOLTIPS
, nebudou použity žádné popisy a NULL
vrátí se.
Poznámky
Implementace GetToolTips
MFC vrátí CToolTipCtrl
objekt, který je používán stromovým ovládacím prvkem, nikoli popisovačem ovládacího prvku.
Příklad
// If the tree control does not have a tooltips control,
// then use m_ToolTips as the tooltips for the tree control.
if (m_TreeCtrl.GetToolTips() == NULL)
{
m_TreeCtrl.SetToolTips(&m_ToolTips);
}
CTreeCtrl::GetVisibleCount
Voláním této funkce načtete počet viditelných položek v ovládacím prvku stromového zobrazení.
UINT GetVisibleCount() const;
Návratová hodnota
Počet viditelných položek v ovládacím prvku stromového zobrazení; jinak - 1.
Příklad
Podívejte se na příklad pro CTreeCtrl::SetCheck
.
CTreeCtrl::HitTest
Voláním této funkce určíte umístění zadaného bodu vzhledem k klientské oblasti ovládacího prvku stromového zobrazení.
HTREEITEM HitTest(
CPoint pt,
UINT* pFlags = NULL) const;
HTREEITEM HitTest(TVHITTESTINFO* pHitTestInfo) const;
Parametry
pt
Souřadnice klienta bodu k otestování
pFlags
Ukazatel na celé číslo, které přijímá informace o výsledcích testu hitu. Může to být jedna nebo více hodnot uvedených pod flags
členem v oddílu Poznámky.
pHitTestInfo
TVHITTESTINFO
Adresa struktury, která obsahuje pozici, která se má testovat, a která přijímá informace o výsledcích testu hitu.
Návratová hodnota
Popisovač položky stromového zobrazení, která zabírá zadaný bod nebo NULL
pokud žádná položka bod nezabývá.
Poznámky
Při zavolání pt
této funkce určuje parametr souřadnice bodu, který se má testovat. Funkce vrátí popisovač položky v zadaném bodě nebo NULL
pokud žádná položka bod nezabývá. Kromě toho pFlags
parametr obsahuje hodnotu, která označuje umístění zadaného bodu. Možné hodnoty jsou:
Hodnota | Popis |
---|---|
TVHT_ABOVE |
Nad oblastí klienta. |
TVHT_BELOW |
Pod klientskou oblastí. |
TVHT_NOWHERE |
V oblasti klienta, ale pod poslední položkou. |
TVHT_ONITEM |
Na rastrovém obrázku nebo popisku přidruženém k položce |
TVHT_ONITEMBUTTON |
Na tlačítku přidruženém k položce |
TVHT_ONITEMICON |
Na rastrovém obrázku přidruženém k položce |
TVHT_ONITEMINDENT |
V odsazení přidružené k položce. |
TVHT_ONITEMLABEL |
Na popisku (řetězci) přidruženém k položce. |
TVHT_ONITEMRIGHT |
V oblasti napravo od položky. |
TVHT_ONITEMSTATEICON |
Na ikoně stavu položky stromového zobrazení, která je ve stavu definovaném uživatelem. |
TVHT_TOLEFT |
Nalevo od klientské oblasti. |
TVHT_TORIGHT |
Napravo od klientské oblasti. |
Příklad
// Select the item that is at the point myPoint.
UINT uFlags;
HTREEITEM hItem = m_TreeCtrl.HitTest(myPoint, &uFlags);
if ((hItem != NULL) && (TVHT_ONITEM & uFlags))
{
m_TreeCtrl.SelectItem(hItem);
}
CTreeCtrl::InsertItem
Voláním této funkce vložíte novou položku do ovládacího prvku stromového zobrazení.
HTREEITEM InsertItem(LPTVINSERTSTRUCT lpInsertStruct);
HTREEITEM InsertItem(
UINT nMask,
LPCTSTR lpszItem,
int nImage,
int nSelectedImage,
UINT nState,
UINT nStateMask,
LPARAM lParam,
HTREEITEM hParent,
HTREEITEM hInsertAfter);
HTREEITEM InsertItem(
LPCTSTR lpszItem,
HTREEITEM hParent = TVI_ROOT,
HTREEITEM hInsertAfter = TVI_LAST);
HTREEITEM InsertItem(
LPCTSTR lpszItem,
int nImage,
int nSelectedImage,
HTREEITEM hParent = TVI_ROOT,
HTREEITEM hInsertAfter = TVI_LAST);
Parametry
lpInsertStruct
Ukazatel na položku TVINSERTSTRUCT
stromového zobrazení, který určuje atributy položky stromového zobrazení, které se mají vložit.
nMask
Celé číslo určující, které atributy se mají nastavit. Prohlédněte si TVITEM
strukturu v sadě Windows SDK.
lpszItem
Adresa řetězce obsahujícího text položky
nImage
Index obrázku položky v seznamu obrázků ovládacího prvku stromového zobrazení
nSelectedImage
Index vybraného obrázku položky v seznamu obrázků ovládacího prvku stromového zobrazení
nState
Určuje hodnoty pro stavy položky. Seznam odpovídajících stavů v sadě Windows SDK najdete v části Stavy položek ovládacího prvku stromového zobrazení.
nStateMask
Určuje, které stavy se mají nastavit. Prohlédněte si TVITEM
strukturu v sadě Windows SDK.
lParam
Hodnota specifická pro aplikaci s velikostí ukazatele přidružená k položce
hParent
Úchyt nadřazené položky vložené položky
hInsertAfter
Úchyt položky, po které má být nová položka vložena.
Návratová hodnota
Zpracování nové položky v případě úspěchu; jinak NULL
.
Poznámky
Příklad ukazuje situace, ve kterých můžete chtít při vkládání položky ovládacího prvku stromu použít každou verzi funkce.
Příklad
// Insert a root item using the structure. We must
// initialize a TVINSERTSTRUCT structure and pass its
// address to the call.
TVINSERTSTRUCT tvInsert;
tvInsert.hParent = NULL;
tvInsert.hInsertAfter = NULL;
tvInsert.item.mask = TVIF_TEXT;
tvInsert.item.pszText = _T("United States");
HTREEITEM hCountry = m_TreeCtrl.InsertItem(&tvInsert);
// Insert subitems of that root. Pennsylvania is
// a state in the United States, so its item will be a child
// of the United States item. We won't set any image or states,
// so we supply only the TVIF_TEXT mask flag. This
// override provides nearly complete control over the
// insertion operation without the tedium of initializing
// a structure. If you're going to add lots of items
// to a tree, you might prefer the structure override
// as it affords you a performance win by allowing you
// to initialize some fields of the structure only once,
// outside of your insertion loop.
HTREEITEM hPA = m_TreeCtrl.InsertItem(TVIF_TEXT,
_T("Pennsylvania"), 0, 0, 0, 0, 0, hCountry, NULL);
// Insert the "Washington" item and assure that it is
// inserted after the "Pennsylvania" item. This override is
// more appropriate for conveniently inserting items with
// images.
HTREEITEM hWA = m_TreeCtrl.InsertItem(_T("Washington"),
0, 0, hCountry, hPA);
// We'll add some cities under each of the states.
// The override used here is most appropriate
// for inserting text-only items.
m_TreeCtrl.InsertItem(_T("Pittsburgh"), hPA, TVI_SORT);
m_TreeCtrl.InsertItem(_T("Harrisburg"), hPA, TVI_SORT);
m_TreeCtrl.InsertItem(_T("Altoona"), hPA, TVI_SORT);
m_TreeCtrl.InsertItem(_T("Seattle"), hWA, TVI_SORT);
m_TreeCtrl.InsertItem(_T("Kalaloch"), hWA, TVI_SORT);
m_TreeCtrl.InsertItem(_T("Yakima"), hWA, TVI_SORT);
CTreeCtrl::ItemHasChildren
Tato funkce slouží k určení, zda stromová položka určená podřízenými položkami hItem
.
BOOL ItemHasChildren(HTREEITEM hItem) const;
Parametry
hItem
Popisovač položky stromu
Návratová hodnota
Nenulové, pokud položka stromu určená podřízenými položkami hItem
; 0, pokud ne.
Poznámky
Pokud ano, můžete tyto podřízené položky načíst pomocí CTreeCtrl::GetChildItem
těchto podřízených položek.
Příklad
Podívejte se na příklad pro CTreeCtrl::GetSelectedItem
.
CTreeCtrl::MapAccIdToItem
Mapuje zadaný identifikátor přístupnosti na popisovač položky stromového zobrazení v aktuálním ovládacím prvku stromového zobrazení.
HTREEITEM MapAccIdToItem(UINT uAccId) const;
Parametry
uAccId
[v] Identifikátor usnadnění pro prvek v položce stromového zobrazení.
Návratová hodnota
Popisovač položky stromového zobrazení (HTREEITEM
), který odpovídá parametru uAccId
. Další informace najdete v hItem
členu TVITEMEX
struktury.
Poznámky
Pomůcky přístupnosti jsou aplikace, které pomáhají osobám s postižením používat počítače. Identifikátor usnadnění je používán IAccessible
rozhraním k jedinečnému určení prvku v okně. Další informace o IAccessible
rozhraních API naleznete v tématu Microsoft Active Accessibility.
Tato metoda odešle TVM_MAPACCIDTOHTREEITEM
zprávu popsanou v sadě Windows SDK.
Příklad
První příklad kódu definuje proměnnou, m_treeCtrl
která se používá pro přístup k aktuálnímu ovládacímu prvku stromového zobrazení. Příklad kódu také definuje celé číslo bez znaménka a několik HTREEITEM
proměnných. Tyto proměnné se používají v dalším příkladu.
public:
// Variable to access tree control.
CTreeCtrl m_treeCtrl;
// Variable to access splitbutton control.
CSplitButton m_splitbutton;
// Accessibility identifier
UINT accIdUS;
// HTREEITEMs
HTREEITEM hCountry;
HTREEITEM hPA;
HTREEITEM hWA;
Následující příklad kódu používá identifikátor přístupnosti a metodu CTreeCtrl::MapAccIdToItem
k načtení popisovače do kořenové položky stromového zobrazení. Příklad používá úchyt a metodu CTreeCtrl::GetItemPartRect
k vykreslení 3D obdélníku kolem této položky. V předchozí části příkladu kódu, který se nezobrazuje, jsme vytvořili stromové zobrazení, které se skládá z kořenového uzlu země/oblasti pro USA, pod uzly států Pennsylvania a Washington a stromové položky pro města v těchto státech. Metodu CTreeCtrl::MapItemToAccID
jsme použili k přidružení položky kořenového stromového zobrazení k identifikátoru přístupnosti.
CRect rect;
HTREEITEM hUS = m_treeCtrl.MapAccIdToItem(accIdUS);
m_treeCtrl.GetItemPartRect(hUS, TVGIPR_BUTTON, &rect);
m_treeCtrl.GetDC()->Draw3dRect(&rect, RGB(255, 0, 0), RGB(0, 0, 255));
CTreeCtrl::MapItemToAccID
Mapuje zadaný popisovač položky stromového zobrazení v aktuálním ovládacím prvku stromového zobrazení na identifikátor přístupnosti.
UINT MapItemToAccID(HTREEITEM hItem) const;
Parametry
hItem
[v] Úchyt položky stromového zobrazení v ovládacím prvku. Další informace najdete v hItem
členu TVITEMEX
struktury.
Návratová hodnota
Identifikátor usnadnění, který odpovídá parametru hItem .
Poznámky
Pomůcky přístupnosti jsou aplikace, které pomáhají osobám s postižením používat počítače. Identifikátor usnadnění je používán IAccessible
rozhraním k jedinečnému určení prvku v okně. Další informace o IAccessible
rozhraních API naleznete v tématu Microsoft Active Accessibility.
Tato metoda odešle TVM_MAPHTREEITEMTOACCID
zprávu popsanou v sadě Windows SDK.
Příklad
První příklad kódu definuje proměnnou, m_treeCtrl
která se používá pro přístup k aktuálnímu ovládacímu prvku stromového zobrazení. Příklad kódu také definuje celé číslo bez znaménka a několik HTREEITEM
proměnných. Tyto proměnné se používají v dalším příkladu.
public:
// Variable to access tree control.
CTreeCtrl m_treeCtrl;
// Variable to access splitbutton control.
CSplitButton m_splitbutton;
// Accessibility identifier
UINT accIdUS;
// HTREEITEMs
HTREEITEM hCountry;
HTREEITEM hPA;
HTREEITEM hWA;
Následující příklad kódu získá identifikační číslo pro položku ovládacího prvku stromového zobrazení. V předchozí části příkladu kódu, který se nezobrazuje, jsme vytvořili stromové zobrazení, které se skládá z kořenového uzlu země/oblasti pro USA, pod uzly států Pennsylvania a Washington a stromové položky pro města v těchto státech. Tento příklad kódu získá jedinečné identifikační číslo pro kořenový uzel země/oblasti.
// Map an accessibility identifier to the Pennsylvania node.
accIdUS = m_treeCtrl.MapItemToAccId(hCountry);
CTreeCtrl::Select
Voláním této funkce vyberete danou položku stromového zobrazení, posunete položku do zobrazení nebo překreslíte položku ve stylu použitém k označení cíle operace přetažení myší.
BOOL Select(
HTREEITEM hItem,
UINT nCode);
Parametry
hItem
Popisovač položky stromu
nCode
Typ akce, která se má provést. Tento parametr může být jedna z následujících hodnot:
TVGN_CARET
Nastaví výběr na danou položku.TVGN_DROPHILITE
Překreslí danou položku ve stylu použitém k označení cíle operace přetažení.TVGN_FIRSTVISIBLE
Posune stromové zobrazení svisle tak, aby daná položka byla první viditelnou položkou.
Návratová hodnota
Nenulové, pokud je úspěšné; jinak 0.
Poznámky
Pokud nCode
obsahuje hodnotuTVGN_CARET
, nadřazené okno obdrží zprávy a TVN_SELCHANGED
zprávy s oznámenímTVN_SELCHANGING
. Pokud je zadaná položka podřízenou položkou sbalené nadřazené položky, rozbalí se seznam podřízených položek, aby se zobrazila zadaná položka. V tomto případě nadřazené okno obdrží zprávy a TVN_ITEMEXPANDED
zprávy s oznámenímTVN_ITEMEXPANDING
.
Příklad
Podívejte se na příklad pro CTreeCtrl::HitTest
.
CTreeCtrl::SelectDropTarget
Voláním této funkce překreslete položku ve stylu použitém k označení cíle operace přetažení myší.
BOOL SelectDropTarget(HTREEITEM hItem);
Parametry
hItem
Popisovač položky stromu
Návratová hodnota
Nenulové, pokud je úspěšné; jinak 0.
Příklad
// Set the item at the point myPoint as the drop target.
UINT uFlags;
HTREEITEM hItem = m_TreeCtrl.HitTest(myPoint, &uFlags);
if ((hItem != NULL) && (TVHT_ONITEM & uFlags))
{
m_TreeCtrl.SelectDropTarget(hItem);
ASSERT(m_TreeCtrl.GetDropHilightItem() == hItem);
}
CTreeCtrl::SelectItem
Voláním této funkce vyberete danou položku stromového zobrazení.
BOOL SelectItem(HTREEITEM hItem);
Parametry
hItem
Popisovač položky stromu
Návratová hodnota
Nenulové, pokud je úspěšné; jinak 0.
Poznámky
Pokud hItem
je NULL
, pak tato funkce vybere žádnou položku.
Příklad
// Select the item that is at the point myPoint.
UINT uFlags;
HTREEITEM hItem = m_TreeCtrl.HitTest(myPoint, &uFlags);
if ((hItem != NULL) && (TVHT_ONITEM & uFlags))
{
m_TreeCtrl.SelectItem(hItem);
}
CTreeCtrl::SelectSetFirstVisible
Voláním této funkce posunete zobrazení stromu svisle tak, aby daná položka byla první viditelnou položkou.
BOOL SelectSetFirstVisible(HTREEITEM hItem);
Parametry
hItem
Popisovač položky stromu, která se má nastavit jako první viditelná položka
Návratová hodnota
Nenulové, pokud je úspěšné; jinak 0.
Poznámky
Funkce odešle zprávu do okna s TVM_SELECTITEM
parametry zprávy.TVGN_FIRSTVISIBLE
Příklad
// Select the item at the point myPoint as the first visible item.
UINT uFlags;
HTREEITEM hItem = m_TreeCtrl.HitTest(myPoint, &uFlags);
if ((hItem != NULL) && (TVHT_ONITEM & uFlags))
{
m_TreeCtrl.SelectSetFirstVisible(hItem);
}
CTreeCtrl::SetAutoscrollInfo
Nastaví míru automatického zápisu aktuálního ovládacího prvku stromového zobrazení.
BOOL SetAutoscrollInfo(
UINT uPixelsPerSec,
UINT uUpdateTime);
Parametry
uPixelsPerSec
[v] Počet pixelů za sekundu, které se mají posunout.
uUpdateTime
[v] Časový interval mezi aktualizacemi ovládacího prvku.
Návratová hodnota
Vždy vrátí hodnotu TRUE
.
Poznámky
Parametry automatického zápisu slouží k posouvání do zobrazení položky, která není aktuálně viditelná. Ovládací prvek stromového zobrazení musí mít TVS_EX_AUTOHSCROLL
rozšířený styl, který je popsán v ovládacím prvku Stromové zobrazení rozšířené styly.
Tato metoda odešle TVM_SETAUTOSCROLLINFO
zprávu popsanou v sadě Windows SDK.
Příklad
První příklad kódu definuje proměnnou, m_treeCtrl
která se používá pro přístup k aktuálnímu ovládacímu prvku stromového zobrazení. Příklad kódu také definuje celé číslo bez znaménka a několik HTREEITEM
proměnných. Tyto proměnné se používají v dalším příkladu.
public:
// Variable to access tree control.
CTreeCtrl m_treeCtrl;
// Variable to access splitbutton control.
CSplitButton m_splitbutton;
// Accessibility identifier
UINT accIdUS;
// HTREEITEMs
HTREEITEM hCountry;
HTREEITEM hPA;
HTREEITEM hWA;
Následující příklad kódu nastaví chování automatického zápisu aktuálního ovládacího prvku stromového zobrazení. V předchozí části příkladu kódu, který se nezobrazuje, jsme vytvořili stromové zobrazení, které se skládá z kořenového uzlu země/oblasti pro USA, pod uzly států Pennsylvania a Washington a stromové položky pro města v těchto státech. Záměrně jsme ovládací prvek stromového zobrazení zúžili tak, aby se automaticky posouvat, aby se zobrazila položka stromu, která má fokus. Příklad kódu nastaví ovládací prvek stromového zobrazení tak, aby se automaticky posouvat 30 pixelů za sekundu každých 5 sekund, dokud se položka stromu nebude zobrazovat.
// Scroll 30 pixels/sec and redraw every 5 seconds.
m_treeCtrl.SetAutoscrollInfo(30, 5);
CTreeCtrl::SetBkColor
Tato členová funkce implementuje chování zprávy TVM_SETBKCOLOR
Win32, jak je popsáno v sadě Windows SDK.
COLORREF SetBkColor(COLORREF clr);
Parametry
clr
Hodnota COLORREF
, která obsahuje novou barvu pozadí. Pokud je tato hodnota -1, ovládací prvek se vrátí k použití systémové barvy pro barvu pozadí.
Návratová hodnota
Hodnota COLORREF
, která představuje aktuální barvu textu. Pokud je tato hodnota -1, ovládací prvek používá pro barvu textu systémovou barvu.
Příklad
Podívejte se na příklad pro CTreeCtrl::SetTextColor
.
CTreeCtrl::SetCheck
Voláním této členské funkce nastavíte stav kontroly pro položku ovládacího prvku stromu.
BOOL SetCheck(
HTREEITEM hItem,
BOOL fCheck = TRUE);
Parametry
hItem
Změna HTREEITEM
stavu kontroly se zobrazí.
fCheck
Určuje, zda má být položka ovládacího prvku strom zaškrtnutá nebo nezaškrtnuta. Ve výchozím nastavení nastaví položku, SetCheck
která se má zkontrolovat.
Návratová hodnota
Nenulové, pokud je úspěšné; jinak 0.
Poznámky
Když je položka ovládacího prvku stromu zaškrtnutá (fCheck
nastavená na TRUE
), zobrazí se položka se sousedním zaškrtnutím.
Příklad
UINT uCount = m_TreeCtrl.GetVisibleCount();
HTREEITEM hItem = m_TreeCtrl.GetFirstVisibleItem();
// Toggle the check state of all the visible items.
for (UINT i = 0; i < uCount; i++)
{
ASSERT(hItem != NULL);
m_TreeCtrl.SetCheck(hItem, !m_TreeCtrl.GetCheck(hItem));
hItem = m_TreeCtrl.GetNextVisibleItem(hItem);
}
Pokud chcete použít zaškrtávací políčka, nastavte TVS_CHECKBOXES
před naplněním ovládacího prvku strom.
m_TreeCtrl.ModifyStyle(0, TVS_CHECKBOXES);
HTREEITEM aItem = m_TreeCtrl.InsertItem(_T("AAA"));
m_TreeCtrl.SetCheck(aItem);
CTreeCtrl::SetExtendedStyle
Nastaví rozšířené styly pro aktuální ovládací prvek stromového zobrazení.
DWORD SetExtendedStyle(
DWORD dwExMask,
DWORD dwExStyles);
Parametry
dwExMask
[v] Bitová maska, která určuje, které styly v aktuálním ovládacím prvku stromové zobrazení jsou touto metodou ovlivněny. Pokud je tento parametr nula, bude ignorován a hodnota dwExStyles
parametru je přiřazena ovládacímu prvku stromového zobrazení. Zadejte nulovou nebo bitové kombinaci stylů popsaných v rozšířených stylech ovládacího prvku Stromové zobrazení.
dwExStyles
[v] Bitová maska, která určuje, které styly v aktuálním ovládacím prvku stromového zobrazení se mají nastavit nebo vymazat. Chcete-li nastavit kombinaci stylů, zadejte bitovou kombinaci (OR) stylů popsaných v ovládacím prvku Stromové zobrazení rozšířené styly. Pokud chcete vymazat sadu stylů, zadejte nulu.
Návratová hodnota
Hodnota, která obsahuje předchozí rozšířené styly ovládacích prvků.
Poznámky
Tato metoda vymaže styly zadané v parametru dwExMask
a pak nastaví styly zadané v parametru dwExStyles
. Pouze rozšířené styly, které odpovídají změnám bitů dwExMask
.
Tato metoda odešle TVM_SETEXTENDEDSTYLE
zprávu popsanou v sadě Windows SDK.
Příklad
První příklad kódu definuje proměnnou, m_treeCtrl
která se používá pro přístup k aktuálnímu ovládacímu prvku stromového zobrazení. Příklad kódu také definuje celé číslo bez znaménka a několik HTREEITEM
proměnných. Tyto proměnné se používají v dalším příkladu.
public:
// Variable to access tree control.
CTreeCtrl m_treeCtrl;
// Variable to access splitbutton control.
CSplitButton m_splitbutton;
// Accessibility identifier
UINT accIdUS;
// HTREEITEMs
HTREEITEM hCountry;
HTREEITEM hPA;
HTREEITEM hWA;
Další příklad kódu přidá TVS_EX_AUTOHSCROLL
rozšířený styl do aktuálního ovládacího prvku stromového zobrazení. V předchozí části příkladu kódu, který se nezobrazuje, jsme vytvořili stromové zobrazení, které se skládá z kořenového uzlu země/oblasti pro USA, pod uzly států Pennsylvania a Washington a stromové položky pro města v těchto státech. Záměrně jsme ovládací prvek stromového zobrazení zúžili tak, aby se automaticky posouvat, aby se zobrazila položka stromu, která má fokus.
m_treeCtrl.SetExtendedStyle(TVS_EX_AUTOHSCROLL, TVS_EX_AUTOHSCROLL);
CTreeCtrl::SetImageList
Voláním této funkce nastavíte seznam obrázků normálního stavu pro ovládací prvek stromového zobrazení a překreslíte ovládací prvek pomocí nových obrázků.
CImageList* SetImageList(
CImageList* pImageList,
int nImageListType);
Parametry
pImageList
Ukazatel na seznam obrázků, který chcete přiřadit. Pokud pImageList
ano NULL
, odeberou se všechny obrázky z ovládacího prvku stromového zobrazení.
nImageListType
Typ seznamu obrázků, který chcete nastavit. Seznam obrázků může mít jednu z následujících hodnot:
TVSIL_NORMAL
Nastaví normální seznam obrázků, který obsahuje vybrané a nevybrané obrázky pro položku stromového zobrazení. Tento stav musíte použít pro překryvné obrázky.TVSIL_STATE
Nastaví seznam stavových imagí, který obsahuje obrázky pro položky stromového zobrazení, které jsou ve stavu definovaném uživatelem.
Návratová hodnota
Ukazatel na předchozí seznam obrázků, pokud existuje; jinak NULL
.
Příklad
Podívejte se na příklad pro CTreeCtrl::GetImageList
.
CTreeCtrl::SetIndent
Voláním této funkce nastavíte šířku odsazení pro ovládací prvek stromového zobrazení a překreslíte ovládací prvek tak, aby odrážel novou šířku.
void SetIndent(UINT nIndent);
Parametry
nIndent
Šířka v pixelech odsazení. Pokud nIndent
je menší než minimální šířka definovaná systémem, nastaví se nová šířka na minimální hodnotu definovanou systémem.
Příklad
Podívejte se na příklad pro CTreeCtrl::GetIndent
.
CTreeCtrl::SetInsertMark
Tato členová funkce implementuje chování zprávy TVM_SETINSERTMARK
Win32, jak je popsáno v sadě Windows SDK.
BOOL SetInsertMark(
HTREEITEM hItem,
BOOL fAfter = TRUE);
Parametry
hItem
HTREEITEM
určuje, na kterou položku se umístí značka vložení. Pokud je tento argument NULL, odebere se značka vložení.
fAfter
Hodnota BOOL, která určuje, zda je značka vložení umístěna před nebo za zadanou položku. Pokud je tento argument nenulový, značka vložení se umístí za položku. Pokud je tento argument nulový, umístí se značka vložení před položku.
Návratová hodnota
Nenulové, pokud je úspěšné; jinak 0.
Příklad
// Set the insert mark to be before the item at the point myPoint.
UINT uFlags;
HTREEITEM hItem = m_TreeCtrl.HitTest(myPoint, &uFlags);
if ((hItem != NULL) && (TVHT_ONITEM & uFlags))
{
m_TreeCtrl.SetInsertMark(hItem, FALSE);
}
CTreeCtrl::SetInsertMarkColor
Tato členová funkce implementuje chování zprávy TVM_SETINSERTMARKCOLOR
Win32, jak je popsáno v sadě Windows SDK.
COLORREF SetInsertMarkColor(COLORREF clrNew);
Parametry
clrNew
COLORREF
Hodnota, která obsahuje novou barvu značky vložení.
Návratová hodnota
COLORREF
Hodnota, která obsahuje předchozí barvu značky vložení.
Příklad
Podívejte se na příklad pro CTreeCtrl::GetInsertMarkColor
.
CTreeCtrl::SetItem
Voláním této funkce nastavíte atributy zadané položky stromového zobrazení.
BOOL SetItem(TVITEM* pItem);
BOOL SetItem(
HTREEITEM hItem,
UINT nMask,
LPCTSTR lpszItem,
int nImage,
int nSelectedImage,
UINT nState,
UINT nStateMask,
LPARAM lParam);
Parametry
pItem
Ukazatel na TVITEM
strukturu, která obsahuje atributy nové položky, jak je popsáno v sadě Windows SDK.
hItem
Popisovač položky, jejíž atributy mají být nastaveny. Podívejte se na hItem
TVITEM
člena struktury v sadě Windows SDK.
nMask
Celé číslo určující, které atributy se mají nastavit. Prohlédněte si mask
člen TVITEM
struktury.
lpszItem
Adresa řetězce obsahujícího text položky
nImage
Index obrázku položky v seznamu obrázků ovládacího prvku stromového zobrazení Prohlédněte si iImage
člen TVITEM
struktury.
nSelectedImage
Index vybraného obrázku položky v seznamu obrázků ovládacího prvku stromového zobrazení Prohlédněte si iSelectedImage
člen TVITEM
struktury.
nState
Určuje hodnoty pro stavy položky. Prohlédněte si State
člen TVITEM
struktury.
nStateMask
Určuje, které stavy se mají nastavit. Prohlédněte si stateMask
člen TVITEM
struktury.
lParam
Hodnota specifická pro aplikaci s velikostí ukazatele přidružená k položce
Návratová hodnota
Nenulové, pokud je úspěšné; jinak 0.
Poznámky
Ve struktuře TVITEM
hItem
člen identifikuje položku a mask
člen určuje, které atributy se mají nastavit.
mask
Pokud člen nebo nMask
parametr určuje TVIF_TEXT
hodnotu, pszText
člen nebo lpszItem
je adresa řetězce ukončeného hodnotou null a cchTextMax
člen je ignorován. Pokud mask
(nebo nMask
) určuje TVIF_STATE
hodnotu, člen nebo nStateMask
parametr určuje, stateMask
které stavy položek se mají změnit, a state
člen nebo nState
parametr obsahuje hodnoty pro tyto stavy.
Příklad
// Show the item at the point myPoint in bold.
UINT uFlags;
HTREEITEM hItem = m_TreeCtrl.HitTest(myPoint, &uFlags);
if ((hItem != NULL) && (TVHT_ONITEM & uFlags))
{
m_TreeCtrl.SetItem(hItem, TVIF_STATE, NULL, 0, 0, TVIS_BOLD,
TVIS_BOLD, 0);
}
CTreeCtrl::SetItemData
Voláním této funkce nastavíte hodnotu specifickou pro aplikaci přidruženou k zadané položce.
BOOL SetItemData(
HTREEITEM hItem,
DWORD_PTR dwData);
Parametry
hItem
Popisovač položky, jejíž data se mají načíst.
dwData
Hodnota specifická pro aplikaci s velikostí ukazatele přidružená k položce určené .hItem
Návratová hodnota
Nenulové, pokud je úspěšné; jinak 0.
Příklad
CString str;
HTREEITEM hItem;
// Insert 20 items into the tree control making every item's
// data be the handle of the item.
for (int i = 0; i < 20; i++)
{
str.Format(TEXT("item %d"), i);
hItem = m_TreeCtrl.InsertItem(str);
if (hItem != NULL)
{
m_TreeCtrl.SetItemData(hItem, (DWORD_PTR)hItem);
}
}
CTreeCtrl::SetItemExpandedImageIndex
Nastaví index obrázku, který se zobrazí, když je zadaná položka aktuálního ovládacího prvku stromového zobrazení v rozbaleném stavu.
BOOL SetItemExpandedImageIndex(
HTREEITEM hItem,
int iExpandedImage);
Parametry
hItem
[v] Popisovač položky ovládacího prvku stromového zobrazení
iExpandedImage
[v] Index obrázku, který se má zobrazit, když je zadaná položka v rozbaleném stavu.
Návratová hodnota
TRUE
pokud je tato metoda úspěšná; v opačném případě . FALSE
Poznámky
Tato metoda odešle TVM_SETITEM
zprávu popsanou v sadě Windows SDK. Tato metoda přiřadí iExpandedImage
parametr iExpandedImage
členu TVITEMEX
struktury a pak použije tuto strukturu ve zprávě.
Příklad
První příklad kódu definuje proměnnou, m_treeCtrl
která se používá pro přístup k aktuálnímu ovládacímu prvku stromového zobrazení. Příklad kódu také definuje celé číslo bez znaménka a několik HTREEITEM
proměnných. Tyto proměnné se používají v dalším příkladu.
public:
// Variable to access tree control.
CTreeCtrl m_treeCtrl;
// Variable to access splitbutton control.
CSplitButton m_splitbutton;
// Accessibility identifier
UINT accIdUS;
// HTREEITEMs
HTREEITEM hCountry;
HTREEITEM hPA;
HTREEITEM hWA;
Další příklad kódu je triviální test určující, zda CTreeCtrl::GetItemExpandedImageIndex
metoda vrací hodnotu nastavenou metodou CTreeCtrl::SetItemExpandedImageIndex
. V předchozí části příkladu kódu, který se nezobrazuje, jsme vytvořili stromové zobrazení, které se skládá z kořenového uzlu země/oblasti pro USA, pod uzly států Pennsylvania a Washington a stromové položky pro města v těchto státech.
CString str;
CString msg = _T("The set and retrieved item expanded image ")
_T("indexes are%s equal.");
int nSetItem = 0;
m_treeCtrl.SetItemExpandedImageIndex(hCountry, nSetItem);
int nItem = m_treeCtrl.GetItemExpandedImageIndex(hCountry);
if (nItem == nSetItem)
str.Format(msg, _T(""));
else
str.Format(msg, _T(" not"));
AfxMessageBox(str, MB_ICONINFORMATION);
CTreeCtrl::SetItemHeight
Tato členová funkce implementuje chování zprávy TVM_SETITEMHEIGHT
Win32, jak je popsáno v sadě Windows SDK.
SHORT SetItemHeight(SHORT cyHeight);
Parametry
cyHeight
Určuje novou výšku každé položky ve stromovém zobrazení v pixelech. Pokud je tento argument menší než výška obrázků, nastaví se na výšku obrázků. Pokud tento argument ani není, zaokrouhlí se dolů na nejbližší sudou hodnotu. Pokud je tento argument -1, ovládací prvek se vrátí k použití výchozí výšky položky.
Návratová hodnota
Předchozí výška položek v pixelech.
Příklad
Podívejte se na příklad pro CTreeCtrl::GetItemHeight
.
CTreeCtrl::SetItemImage
Přidruží obrázky k položce.
BOOL SetItemImage(
HTREEITEM hItem,
int nImage,
int nSelectedImage);
Parametry
hItem
Popisovač položky, jejíž obrázek má být nastaven.
nImage
Index obrázku položky v seznamu obrázků ovládacího prvku stromového zobrazení
nSelectedImage
Index vybraného obrázku položky v seznamu obrázků ovládacího prvku stromového zobrazení
Návratová hodnota
Nenulové, pokud je úspěšné; jinak 0.
Poznámky
Každá položka v ovládacím prvku stromového zobrazení může mít přidruženou dvojici rastrových obrázků. Obrázky se zobrazí na levé straně popisku položky. Při výběru položky se zobrazí jeden obrázek a druhý se zobrazí, když položka není vybraná. Položka může například při výběru zobrazit otevřenou složku a uzavřenou složku, pokud není vybraná.
Voláním této funkce nastavíte index obrázku položky a jeho vybraného obrázku v seznamu obrázků ovládacího prvku stromového zobrazení.
Další informace o obrázcích naleznete v tématu CImageList
.
Příklad
Podívejte se na příklad pro CTreeCtrl::GetItemImage
.
CTreeCtrl::SetItemState
Nastaví stav položky určené parametrem hItem
.
BOOL SetItemState(
HTREEITEM hItem,
UINT nState,
UINT nStateMask);
Parametry
hItem
Popisovač položky, jejíž stav má být nastaven.
nState
Určuje nové stavy položky.
nStateMask
Určuje, které stavy se mají změnit.
Návratová hodnota
Nenulové, pokud je úspěšné; jinak 0.
Poznámky
Informace o stavech naleznete v tématu CTreeCtrl::GetItem
.
Příklad
Podívejte se na příklad pro CTreeCtrl::GetItemState
.
CTreeCtrl::SetItemStateEx
Nastaví rozšířený stav zadané položky v aktuálním ovládacím prvku stromového zobrazení.
BOOL SetItemStateEx(
HTREEITEM hItem,
UINT uStateEx);
Parametry
hItem
[v] Popisovač položky ovládacího prvku stromového zobrazení
uStateEx
[v] Rozšířený stav položky. Další informace najdete v uStateEx
členu TVITEMEX
struktury.
Návratová hodnota
TRUE
pokud je tato metoda úspěšná; v opačném případě . FALSE
Poznámky
Tato metoda odešle TVM_SETITEM
zprávu popsanou v sadě Windows SDK. Tato metoda přiřadí uStateEx
parametr uStateEx
členu TVITEMEX
struktury a pak použije tuto strukturu ve zprávě.
Příklad
První příklad kódu definuje proměnnou, m_treeCtrl
která se používá pro přístup k aktuálnímu ovládacímu prvku stromového zobrazení. Příklad kódu také definuje celé číslo bez znaménka a několik HTREEITEM
proměnných. Tyto proměnné se používají v dalším příkladu.
public:
// Variable to access tree control.
CTreeCtrl m_treeCtrl;
// Variable to access splitbutton control.
CSplitButton m_splitbutton;
// Accessibility identifier
UINT accIdUS;
// HTREEITEMs
HTREEITEM hCountry;
HTREEITEM hPA;
HTREEITEM hWA;
Následující příklad kódu nastaví položku stromového zobrazení na zakázaný stav. V předchozí části příkladu kódu, který se nezobrazuje, jsme vytvořili stromové zobrazení, které se skládá z kořenového uzlu země/oblasti pro USA, pod uzly států Pennsylvania a Washington a stromové položky pro města v těchto státech. Tento příklad kódu nastaví uzel Pennsylvania na zakázaný stav.
// Disable the Pennsylvania node.
m_treeCtrl.SetItemStateEx(hPA, TVIS_EX_DISABLED);
CTreeCtrl::SetItemText
Nastaví text položky určené parametrem hItem
.
BOOL SetItemText(
HTREEITEM hItem,
LPCTSTR lpszItem);
Parametry
hItem
Popisovač položky, jejíž text má být nastaven.
lpszItem
Adresa řetězce obsahujícího nový text položky
Návratová hodnota
Nenulové, pokud je úspěšné; jinak 0.
Příklad
// Clear the text of the item at point myPoint.
UINT uFlags;
HTREEITEM hItem = m_TreeCtrl.HitTest(myPoint, &uFlags);
if ((hItem != NULL) && (TVHT_ONITEM & uFlags))
{
m_TreeCtrl.SetItemText(hItem, NULL);
}
CTreeCtrl::SetLineColor
Voláním této členské funkce nastavíte aktuální barvu čáry pro ovládací prvek stromového zobrazení.
COLORREF SetLineColor(COLORREF clrNew = CLR_DEFAULT);
Parametry
clrNew
Nová barva čáry.
Návratová hodnota
Předchozí barva čáry.
Poznámky
Tato členová funkce implementuje chování zprávy TVM_SETLINECOLOR
Win32, jak je popsáno v sadě Windows SDK.
Příklad
COLORREF clrPrev = m_TreeCtrl.SetLineColor(RGB(255, 0, 0));
CTreeCtrl::SetScrollTime
Voláním této členské funkce nastavíte maximální dobu posouvání ovládacího prvku stromového zobrazení.
UINT SetScrollTime(UINT uScrollTime);
Parametry
uScrollTime
Nová maximální doba posouvání v milisekundách. Pokud je tato hodnota menší než 100, zaokrouhlí se nahoru na 100.
Návratová hodnota
Předchozí maximální doba posouvání v milisekundách.
Poznámky
Tato členová funkce implementuje chování zprávy TVM_SETSCROLLTIME
Win32, jak je popsáno v sadě Windows SDK.
CTreeCtrl::SetTextColor
Tato členová funkce implementuje chování zprávy TVM_SETTEXTCOLOR
Win32, jak je popsáno v sadě Windows SDK.
COLORREF SetTextColor(COLORREF clr);
Parametry
clr
Hodnota COLORREF
, která obsahuje novou barvu textu. Pokud je tento argument -1, ovládací prvek se vrátí k použití systémové barvy pro barvu textu.
Návratová hodnota
Hodnota COLORREF
, která představuje předchozí barvu textu. Pokud je tato hodnota -1, ovládací prvek používal pro barvu textu systémovou barvu.
Příklad
// change text color to white and background to dark blue
m_TreeCtrl.SetTextColor(RGB(255, 255, 255));
ASSERT(m_TreeCtrl.GetTextColor() == RGB(255, 255, 255));
m_TreeCtrl.SetBkColor(RGB(0, 0, 128));
ASSERT(m_TreeCtrl.GetBkColor() == RGB(0, 0, 128));
// force repaint immediately
m_TreeCtrl.Invalidate();
CTreeCtrl::SetToolTips
Tato členová funkce implementuje chování zprávy TVM_SETTOOLTIPS
Win32, jak je popsáno v sadě Windows SDK.
CToolTipCtrl* SetToolTips(CToolTipCtrl* pWndTip);
Parametry
pWndTip
Ukazatel na CToolTipCtrl
objekt, který bude ovládací prvek stromu používat.
Návratová hodnota
Ukazatel na CToolTipCtrl
objekt obsahující popis, který ovládací prvek dříve používal, nebo NULL
pokud nebyly dříve použity žádné popisy.
Poznámky
Chcete-li použít popisy, označte TVS_NOTOOLTIPS
styl při vytváření objektu CTreeCtrl
.
Příklad
Podívejte se na příklad pro CTreeCtrl::GetToolTips
.
CTreeCtrl::ShowInfoTip
Zobrazí popis pro zadanou položku v aktuálním ovládacím prvku stromového zobrazení.
void ShowInfoTip(HTREEITEM hItem);
Parametry
hItem
[v] Popisovač položky stromového zobrazení v ovládacím prvku. Další informace najdete v hItem
členu TVITEMEX
struktury.
Poznámky
Další informace o rozdílu mezi popisy a popisy informací najdete v tématu Popisy a popisy informací.
Tato metoda odešle TVM_SHOWINFOTIP
zprávu popsanou v sadě Windows SDK.
CTreeCtrl::SortChildren
Voláním této funkce lze abecedně seřadit podřízené položky dané nadřazené položky v ovládacím prvku stromového zobrazení.
BOOL SortChildren(HTREEITEM hItem);
Parametry
hItem
Popisovač nadřazené položky, jejíž podřízené položky mají být seřazeny. Pokud hItem
ano NULL
, řazení bude pokračovat od kořene stromu.
Návratová hodnota
Nenulové, pokud je úspěšné; jinak 0.
Poznámky
SortChildren
nepůjde projít stromem; budou seřazeny pouze bezprostřední podřízené položky hItem
.
Příklad
// Sort all of the items in the tree control.
m_TreeCtrl.SortChildren(TVI_ROOT);
CTreeCtrl::SortChildrenCB
Voláním této funkce seřadíte položky stromového zobrazení pomocí funkce zpětného volání definované aplikací, která porovnává položky.
BOOL SortChildrenCB(LPTVSORTCB pSort);
Parametry
pSort
Ukazatel na TVSORTCB
strukturu
Návratová hodnota
Nenulové, pokud je úspěšné; jinak 0.
Poznámky
Funkce porovnání struktury musí vrátit zápornou hodnotu, lpfnCompare
pokud by první položka měla předcházet druhé, kladnou hodnotu, pokud by první položka měla následovat za druhou nebo nulou, pokud jsou tyto dvě položky ekvivalentní.
Parametry lParam1
odpovídají lParam2
lParam
členu TVITEM
struktury pro porovnávané dvě položky. Parametr lParamSort
odpovídá lParam
členu TV_SORTCB
struktury.
Příklad
// Sort the item in reverse alphabetical order.
int CALLBACK MyCompareProc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)
{
// lParamSort contains a pointer to the tree control.
// The lParam of an item is just its handle,
// as specified with SetItemData
CTreeCtrl* pmyTreeCtrl = (CTreeCtrl*)lParamSort;
CString strItem1 = pmyTreeCtrl->GetItemText((HTREEITEM)lParam1);
CString strItem2 = pmyTreeCtrl->GetItemText((HTREEITEM)lParam2);
return strItem2.Compare(strItem1);
}
TVSORTCB tvs;
// Sort the tree control's items using my
// callback procedure.
tvs.hParent = TVI_ROOT;
tvs.lpfnCompare = MyCompareProc;
tvs.lParam = (LPARAM)&m_TreeCtrl;
m_TreeCtrl.SortChildrenCB(&tvs);
Viz také
Mfc – ukázka CMNCTRL1
CWnd
Třída
Graf hierarchie
CImageList
Třída