Sdílet prostřednictvím


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í CTreeCtrlnajdete tady:

Hierarchie dědičnosti

CObject

CCmdTarget

CWnd

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_VISIBLEpř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 pParentWndklienta .

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 hitemTVI_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

TRUEpokud 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 FALSEvrá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říznak TVIS_EXPANDEDONCE stavu se resetuje. Tento příznak musí být použit s příznakem TVE_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_GETBKCOLORWin32, 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_GETINSERTMARKCOLORWin32, 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_GETITEMHEIGHTWin32, 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_BUTTONhodnotu .

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

TRUEpokud 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_treeCtrlkterá 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é hItemhodnotou .

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 nStateMasknaleznete 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_treeCtrlkterá 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_GETLINECOLORWin32, 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é parametrem hItem .

  • 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í NULLse 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_GETSCROLLTIMEWin32, 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_GETTEXTCOLORWin32, 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_GETTOOLTIPSWin32, 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_treeCtrlkterá 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_treeCtrlkterá 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_treeCtrlkterá 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_SETBKCOLORWin32, 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_treeCtrlkterá 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_SETINSERTMARKWin32, 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_SETINSERTMARKCOLORWin32, 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

TRUEpokud 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_treeCtrlkterá 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_SETITEMHEIGHTWin32, 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

TRUEpokud 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_treeCtrlkterá 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_SETLINECOLORWin32, 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_SETSCROLLTIMEWin32, jak je popsáno v sadě Windows SDK.

CTreeCtrl::SetTextColor

Tato členová funkce implementuje chování zprávy TVM_SETTEXTCOLORWin32, 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_SETTOOLTIPSWin32, 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, lpfnComparepokud 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