CTreeCtrl-Klasse

Stellt die Funktionalität des allgemeinen Windows-Strukturansicht-Steuerelements bereit.

Syntax

class CTreeCtrl : public CWnd

Member

Öffentliche Konstruktoren

Name Beschreibung
CTreeCtrl::CTreeCtrl Erstellt ein CTreeCtrl-Objekt.

Öffentliche Methoden

Name Beschreibung
CTreeCtrl::Create Erstellt ein Strukturansichtssteuerelement und fügt es an ein CTreeCtrl Objekt an.
CTreeCtrl::CreateDragImage Erstellt eine Ziehbitmap für das angegebene Strukturansichtselement.
CTreeCtrl::CreateEx Erstellt ein Struktursteuerelement mit den angegebenen erweiterten Windows-Formatvorlagen und fügt es an ein CTreeCtrl Objekt an.
CTreeCtrl::DeleteAllItems Löscht alle Elemente in einem Strukturansichtssteuerelement.
CTreeCtrl::DeleteItem Löscht ein neues Element in einem Strukturansichtssteuerelement.
CTreeCtrl::EditLabel Bearbeitet ein angegebenes Strukturansichtselement an der zentralen Stelle.
CTreeCtrl::EndEditLabelNow Bricht den Bearbeitungsvorgang auf der Beschriftung eines Strukturansichtselements im aktuellen Strukturansicht-Steuerelement ab.
CTreeCtrl::EnsureVisible Stellt sicher, dass ein Strukturansichtselement im Strukturansichtssteuerelement sichtbar ist.
CTreeCtrl::Expand Erweitert oder reduziert die untergeordneten Elemente des angegebenen Strukturansichtselements.
CTreeCtrl::GetBkColor Ruft die aktuelle Hintergrundfarbe des Steuerelements ab.
CTreeCtrl::GetCheck Ruft den Überprüfungsstatus eines Struktursteuerelementelements ab.
CTreeCtrl::GetChildItem Ruft das untergeordnete Element eines angegebenen Strukturansichtselements ab.
CTreeCtrl::GetCount Ruft die Anzahl der Strukturelemente ab, die einem Strukturansichtssteuerelement zugeordnet sind.
CTreeCtrl::GetDropHilightItem Ruft das Ziel eines Drag-and-Drop-Vorgangs ab.
CTreeCtrl::GetEditControl Ruft das Handle des Bearbeitungssteuerelements ab, das zum Bearbeiten des angegebenen Strukturansichtselements verwendet wird.
CTreeCtrl::GetExtendedStyle Ruft die erweiterten Formatvorlagen ab, die das aktuelle Strukturansicht-Steuerelement verwendet.
CTreeCtrl::GetFirstVisibleItem Ruft das erste sichtbare Element des angegebenen Strukturansichtselements ab.
CTreeCtrl::GetImageList Ruft das Handle der Bildliste ab, die einem Strukturansichtssteuerelement zugeordnet ist.
CTreeCtrl::GetIndent Ruft den Offset (in Pixel) eines Strukturansichtselements vom übergeordneten Element ab.
CTreeCtrl::GetInsertMarkColor Ruft die Farbe ab, mit der die Einfügemarke für die Strukturansicht gezeichnet wird.
CTreeCtrl::GetItem Ruft die Attribute eines angegebenen Strukturansichtselements ab.
CTreeCtrl::GetItemData Gibt den anwendungsspezifischen Wert zurück, der einem Element zugeordnet ist.
CTreeCtrl::GetItemExpandedImageIndex Ruft den Index des Bilds ab, das angezeigt werden soll, wenn sich das angegebene Element des aktuellen Strukturansicht-Steuerelements im erweiterten Zustand befindet.
CTreeCtrl::GetItemHeight Ruft die aktuelle Höhe der Strukturansichtselemente ab.
CTreeCtrl::GetItemImage Ruft die Bilder ab, die einem Element zugeordnet sind.
CTreeCtrl::GetItemPartRect Ruft das umgebende Rechteck für einen angegebenen Teil eines angegebenen Elements im aktuellen Strukturansicht-Steuerelement ab.
CTreeCtrl::GetItemRect Ruft das umgebende Rechteck eines Strukturansichtselements ab.
CTreeCtrl::GetItemState Gibt den Status eines Elements zurück.
CTreeCtrl::GetItemStateEx Ruft den erweiterten Zustand des angegebenen Elements im aktuellen Strukturansicht-Steuerelement ab.
CTreeCtrl::GetItemText Gibt den Text eines Elements zurück.
CTreeCtrl::GetLastVisibleItem Ruft das letzte erweiterte Element im aktuellen Strukturansicht-Steuerelement ab.
CTreeCtrl::GetLineColor Ruft die aktuelle Linienfarbe für das Strukturansichtssteuerelement ab.
CTreeCtrl::GetNextItem Ruft das nächste Strukturansichtselement ab, das einer angegebenen Beziehung entspricht.
CTreeCtrl::GetNextSiblingItem Ruft das nächste gleichgeordnete Element des angegebenen Strukturansichtselements ab.
CTreeCtrl::GetNextVisibleItem Ruft das nächste sichtbare Element des angegebenen Strukturansichtselements ab.
CTreeCtrl::GetParentItem Ruft das übergeordnete Element des angegebenen Strukturansichtselements ab.
CTreeCtrl::GetPrevSiblingItem Ruft das vorherige gleichgeordnete Element des angegebenen Strukturansichtselements ab.
CTreeCtrl::GetPrevVisibleItem Ruft das vorherige sichtbare Element des angegebenen Strukturansichtselements ab.
CTreeCtrl::GetRootItem Ruft den Stamm des angegebenen Strukturansichtselements ab.
CTreeCtrl::GetScrollTime Ruft die maximale Bildlaufzeit für das Strukturansichtssteuerelement ab.
CTreeCtrl::GetSelectedCount Ruft die Anzahl der ausgewählten Elemente im aktuellen Strukturansicht-Steuerelement ab.
CTreeCtrl::GetSelectedItem Ruft das aktuell ausgewählte Strukturansichtselement ab.
CTreeCtrl::GetTextColor Ruft die aktuelle Textfarbe des Steuerelements ab.
CTreeCtrl::GetToolTips Ruft das Handle zum untergeordneten ToolTip Steuerelement ab, das von einem Strukturansichtssteuerelement verwendet wird.
CTreeCtrl::GetVisibleCount Ruft die Anzahl der sichtbaren Strukturelemente ab, die einem Strukturansichtssteuerelement zugeordnet sind.
CTreeCtrl::HitTest Gibt die aktuelle Position des Cursors zurück, der mit dem CTreeCtrl Objekt verknüpft ist.
CTreeCtrl::InsertItem Fügt ein neues Element in ein Strukturansichtssteuerelement ein.
CTreeCtrl::ItemHasChildren Gibt "nonzero" zurück, wenn das angegebene Element untergeordnete Elemente enthält.
CTreeCtrl::MapAccIdToItem Karten den angegebenen Barrierefreiheitsbezeichner für das Handle für ein Strukturansichtselement im aktuellen Strukturansicht-Steuerelement.
CTreeCtrl::MapItemToAccID Karten das angegebene Handle zu einem Strukturansichtselement im aktuellen Strukturansicht-Steuerelement zu einem Barrierefreiheitsbezeichner.
CTreeCtrl::Select Wählt aus, scrollt in die Ansicht oder gliedert ein angegebenes Strukturansichtselement neu.
CTreeCtrl::SelectDropTarget Das Strukturelement wird als Ziel eines Drag-and-Drop-Vorgangs neu gezeichnet.
CTreeCtrl::SelectItem Wählt ein angegebenes Strukturansichtselement aus.
CTreeCtrl::SelectSetFirstVisible Wählt ein angegebenes Strukturansichtselement als erstes sichtbares Element aus.
CTreeCtrl::SetAutoscrollInfo Legt die autokrollrate des aktuellen Strukturansicht-Steuerelements fest.
CTreeCtrl::SetBkColor Legt die Hintergrundfarbe des Steuerelements fest.
CTreeCtrl::SetCheck Legt den Prüfstatus eines Struktursteuerelementelements fest.
CTreeCtrl::SetExtendedStyle Legt die erweiterten Formatvorlagen für das aktuelle Strukturansicht-Steuerelement fest.
CTreeCtrl::SetImageList Legt das Handle der Bildliste fest, die einem Strukturansichtssteuerelement zugeordnet ist.
CTreeCtrl::SetIndent Legt den Offset (in Pixel) eines Strukturansichtselements vom übergeordneten Element fest.
CTreeCtrl::SetInsertMark Legt die Einfügemarke in einem Strukturansichtssteuerelement fest.
CTreeCtrl::SetInsertMarkColor Legt die Farbe fest, mit der die Einfügemarke für die Strukturansicht gezeichnet wird.
CTreeCtrl::SetItem Legt die Attribute eines angegebenen Strukturansichtselements fest.
CTreeCtrl::SetItemData Legt den anwendungsspezifischen Wert fest, der einem Element zugeordnet ist.
CTreeCtrl::SetItemExpandedImageIndex Legt den Index des Bilds fest, das angezeigt werden soll, wenn sich das angegebene Element des aktuellen Strukturansicht-Steuerelements im erweiterten Zustand befindet.
CTreeCtrl::SetItemHeight Legt die Höhe der Strukturansichtselemente fest.
CTreeCtrl::SetItemImage Ordnet Bilder einem Element zu.
CTreeCtrl::SetItemState Legt den Status eines Elements fest.
CTreeCtrl::SetItemStateEx Legt den erweiterten Zustand des angegebenen Elements im aktuellen Strukturansicht-Steuerelement fest.
CTreeCtrl::SetItemText Legt den Text eines Elements fest.
CTreeCtrl::SetLineColor Legt die aktuelle Linienfarbe für das Strukturansichtssteuerelement fest.
CTreeCtrl::SetScrollTime Legt die maximale Bildlaufzeit für das Strukturansichtssteuerelement fest.
CTreeCtrl::SetTextColor Legt die Textfarbe des Steuerelements fest.
CTreeCtrl::SetToolTips Legt das untergeordnete ToolTip Steuerelement eines Strukturansicht-Steuerelements fest.
CTreeCtrl::ShowInfoTip Zeigt die Infoinfo für das angegebene Element im aktuellen Strukturansicht-Steuerelement an.
CTreeCtrl::SortChildren Sortiert die untergeordneten Elemente eines bestimmten übergeordneten Elements.
CTreeCtrl::SortChildrenCB Sortiert die untergeordneten Elemente eines bestimmten übergeordneten Elements mithilfe einer anwendungsdefinierten Sortierfunktion.

Hinweise

Ein "Strukturansichtssteuerelement" ist ein Fenster, in dem eine hierarchische Liste von Elementen angezeigt wird, z. B. die Überschriften in einem Dokument, die Einträge in einem Index oder die Dateien und Verzeichnisse auf einem Datenträger. Jedes Element besteht aus einer Beschriftung und einem optionalen Bitmapbild, und jedes Element kann eine Liste von Unterelementen zugeordnet sein. Durch Klicken auf ein Element kann der Benutzer die zugeordnete Liste der Unterelemente erweitern und reduzieren.

Dieses Steuerelement (und daher die Klasse) ist nur für Programme verfügbar, die CTreeCtrl unter Windows 98 und Windows NT, Version 4 und höher ausgeführt werden.

Weitere Informationen zur Verwendung CTreeCtrlfinden Sie unter:

Vererbungshierarchie

CObject

CCmdTarget

CWnd

CTreeCtrl

Anforderungen

Headerafxcmn.h:

CTreeCtrl::Create

Wenn Sie das Struktursteuerelement in einer Dialogfeldvorlage oder bei Verwendung CTreeViewangeben, wird das Struktursteuerelement automatisch erstellt, wenn das Dialogfeld oder die Ansicht erstellt wird.

virtual BOOL Create(
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

Parameter

dwStyle
Gibt die Formatvorlage des Strukturansichtssteuerelements an. Wenden Sie Fensterformatvorlagen an, die in CreateWindow, und jede Kombination aus Strukturansicht-Steuerelementstilen , wie im Windows SDK beschrieben.

rect
Gibt die Größe und Position des Strukturansichtssteuerelements an. Dabei kann es sich um ein CRect Objekt oder eine RECT Struktur handeln.

pParentWnd
Gibt das übergeordnete Fenster des Strukturansichtssteuerelements an, in der Regel ein CDialog. Es darf nicht sein NULL.

nID
Gibt die ID des Strukturansichtssteuerelements an.

Rückgabewert

Nonzero, wenn die Initialisierung erfolgreich war; andernfalls 0.

Hinweise

Wenn Sie das Struktursteuerelement als untergeordnetes Fenster eines anderen Fensters erstellen möchten, verwenden Sie die Create Memberfunktion. Wenn Sie das Struktursteuerelement mithilfe Createvon "Struktur" erstellen, müssen Sie es WS_VISIBLEzusätzlich zu anderen Strukturansichtsformaten übergeben.

Sie erstellen eine CTreeCtrl in zwei Schritten. Rufen Sie zuerst den Konstruktor auf, und rufen Sie ihn dann auf Create, wodurch das Strukturansichtssteuerelement erstellt und an das CTreeCtrl Objekt angefügt wird.

Um ein Struktursteuerelement mit erweiterten Fensterformatvorlagen zu erstellen, rufen Sie CreateEx anstelle von Create.

Beispiel

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

Rufen Sie diese Funktion auf, um ein Steuerelement (ein untergeordnetes Fenster) zu erstellen und es dem CTreeCtrl Objekt zuzuordnen.

virtual BOOL CreateEx(
    DWORD dwExStyle,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

Parameter

dwExStyle
Gibt die erweiterte Formatvorlage des zu erstellenden Steuerelements an. Eine Liste der erweiterten Windows-Stile finden Sie im dwExStyle Parameter für CreateWindowEx das Windows SDK.

dwStyle
Gibt die Formatvorlage des Strukturansichtssteuerelements an. Wenden Sie Fensterformatvorlagen an, die in CreateWindow, und jede Kombination aus Strukturansicht-Steuerelementstilen , wie im Windows SDK beschrieben.

rect
Ein Verweis auf eine RECT Struktur, die die Größe und Position des zu erstellenden Fensters in Clientkoordinaten pParentWndbeschreibt.

pParentWnd
Ein Zeiger auf das Fenster, das das übergeordnete Steuerelement ist.

nID
Die Untergeordnete Fenster-ID des Steuerelements.

Rückgabewert

Nonzero bei erfolgreicher Ausführung andernfalls 0.

Hinweise

Verwenden Sie CreateEx anstelle von Create erweiterten Windows-Formatvorlagen, die durch die Erweiterte Formatvorlage WS_EX_von Windows angegeben werden.

CTreeCtrl::CreateDragImage

Rufen Sie diese Funktion auf, um eine Ziehbitmap für das angegebene Element in einem Strukturansichtssteuerelement zu erstellen, eine Bildliste für die Bitmap zu erstellen und die Bitmap der Bildliste hinzuzufügen.

CImageList* CreateDragImage(HTREEITEM hItem);

Parameter

hItem
Handle des Strukturelements, das gezogen werden soll.

Rückgabewert

Zeigen Sie auf die Bildliste, zu der die Ziehbitmap hinzugefügt wurde, falls erfolgreich; andernfalls NULL.

Hinweise

Eine Anwendung verwendet die Bildlistenfunktionen, um das Bild anzuzeigen, wenn das Element gezogen wird.

Das CImageList Objekt ist dauerhaft, und Sie müssen es nach Abschluss löschen. Beispiel:

HTREEITEM hItem = m_TreeCtrl.GetSelectedItem();

CImageList *pImageList = m_TreeCtrl.CreateDragImage(hItem);

// Do something with the image list.

delete pImageList;

CTreeCtrl::CTreeCtrl

Erstellt ein CTreeCtrl-Objekt.

CTreeCtrl();

CTreeCtrl::DeleteAllItems

Rufen Sie diese Funktion auf, um alle Elemente aus dem Strukturansichtssteuerelement zu löschen.

BOOL DeleteAllItems();

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Beispiel

// The underlying Windows API always returns TRUE
VERIFY(m_TreeCtrl.DeleteAllItems());

CTreeCtrl::DeleteItem

Rufen Sie diese Funktion auf, um ein Element aus dem Strukturansichtssteuerelement zu löschen.

BOOL DeleteItem(HTREEITEM hItem);

Parameter

hItem
Handle des zu löschenden Strukturelements. Wenn hitem der TVI_ROOT Wert vorhanden ist, werden alle Elemente aus dem Strukturansichtssteuerelement gelöscht.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Beispiel

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

Rufen Sie diese Funktion auf, um mit der direkten Bearbeitung des Texts des angegebenen Elements zu beginnen.

CEdit* EditLabel(HTREEITEM hItem);

Parameter

hItem
Handle des zu bearbeitenden Strukturelements.

Rückgabewert

Bei erfolgreicher Ausführung zeigt ein Zeiger auf das CEdit Objekt, das zum Bearbeiten des Elementtexts verwendet wird; andernfalls NULL.

Hinweise

Die Bearbeitung erfolgt durch Ersetzen des Texts des Elements durch ein einzeiliges Bearbeitungssteuerelement, das den Text enthält.

Beispiel

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

Schließt den Bearbeitungsvorgang auf der Beschriftung eines Strukturansichtselements im aktuellen Strukturansicht-Steuerelement ab.

BOOL EndEditLabelNow(BOOL fCancelWithoutSave);

Parameter

fCancelWithoutSave
[in] TRUE änderungen am Strukturansichtselement vor Abschluss des Bearbeitungsvorgangs zu entfernen Karte oder FALSE Änderungen am Strukturansichtselement vor Abschluss des Vorgangs zu speichern.

Rückgabewert

TRUEwenn diese Methode erfolgreich ist; andernfalls . FALSE

Hinweise

Diese Methode sendet die TVM_ENDEDITLABELNOW Nachricht, die im Windows SDK beschrieben wird.

CTreeCtrl::EnsureVisible

Rufen Sie diese Funktion auf, um sicherzustellen, dass ein Strukturansichtselement sichtbar ist.

BOOL EnsureVisible(HTREEITEM hItem);

Parameter

hItem
Handle des Strukturelements, das sichtbar gemacht wird.

Rückgabewert

Gibt zurück TRUE , wenn das System die Elemente im Strukturansicht-Steuerelement gescrollt hat, um sicherzustellen, dass das angegebene Element sichtbar ist. Andernfalls lautet FALSEder Rückgabewert .

Hinweise

Bei Bedarf erweitert die Funktion das übergeordnete Element oder scrollt das Strukturansichtssteuerelement so, dass das Element sichtbar ist.

Beispiel

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

Rufen Sie diese Funktion auf, um die Liste der untergeordneten Elemente zu erweitern oder zu reduzieren, falls vorhanden, das dem angegebenen übergeordneten Element zugeordnet ist.

BOOL Expand(
    HTREEITEM hItem,
    UINT nCode);

Parameter

hItem
Handle des Strukturelements, das erweitert wird.

nCode
Ein Kennzeichen, das die Art der auszuführenden Aktion angibt. Dieses Flag kann einen der folgenden Werte aufweisen:

  • TVE_COLLAPSE Reduziert die Liste.

  • TVE_COLLAPSERESET Reduziert die Liste und entfernt die untergeordneten Elemente. Die TVIS_EXPANDEDONCE Statuskennzeichnung wird zurückgesetzt. Dieses Kennzeichen muss mit der TVE_COLLAPSE Kennzeichnung verwendet werden.

  • TVE_EXPAND Erweitert die Liste.

  • TVE_TOGGLE Reduziert die Liste, wenn sie zurzeit erweitert oder erweitert wird, wenn sie zurzeit reduziert ist.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Beispiel

Sehen Sie sich das Beispiel für CTreeCtrl::EnsureVisible.

CTreeCtrl::GetBkColor

Diese Memberfunktion implementiert das Verhalten der Win32-Nachricht TVM_GETBKCOLOR, wie im Windows SDK beschrieben.

COLORREF GetBkColor() const;

Rückgabewert

Ein COLORREF Wert, der die aktuelle Hintergrundfarbe des Fensters für das Steuerelement darstellt. Wenn dieser Wert -1 ist, verwendet das Steuerelement die Systemfensterfarbe. In diesem Fall können ::GetSysColor(COLOR_WINDOW) Sie die aktuelle Systemfarbe abrufen, die das Steuerelement verwendet.

Beispiel

Sehen Sie sich das Beispiel für CTreeCtrl::SetTextColor.

CTreeCtrl::GetCheck

Rufen Sie diese Memberfunktion auf, um den Überprüfungsstatus eines Elements abzurufen.

BOOL GetCheck(HTREEITEM hItem) const;

Parameter

hItem
Die HTREEITEM Informationen, über die die Statusinformationen empfangen werden sollen.

Rückgabewert

Nonzero, wenn das Struktursteuerelement-Element überprüft wird; andernfalls 0.

Beispiel

Sehen Sie sich das Beispiel für CTreeCtrl::SetCheck.

CTreeCtrl::GetChildItem

Rufen Sie diese Funktion auf, um das Strukturansichtselement abzurufen, das das untergeordnete Element des durch hItem.

HTREEITEM GetChildItem(HTREEITEM hItem) const;

Parameter

hItem
Handle eines Strukturelements.

Rückgabewert

Das Handle des untergeordneten Elements bei erfolgreicher Ausführung; andernfalls NULL.

Beispiel

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

Rufen Sie diese Funktion auf, um die Anzahl der Elemente in einem Strukturansichtssteuerelement abzurufen.

UINT GetCount() const;

Rückgabewert

Die Anzahl der Elemente im Strukturansichtssteuerelement.

Beispiel

// Delete all of the items from the tree control.
m_TreeCtrl.DeleteAllItems();
ASSERT(m_TreeCtrl.GetCount() == 0);

CTreeCtrl::GetDropHilightItem

Rufen Sie diese Funktion auf, um das Element abzurufen, das das Ziel eines Drag-and-Drop-Vorgangs ist.

HTREEITEM GetDropHilightItem() const;

Rückgabewert

Das Handle des Elements, das bei erfolgreicher Ausführung verworfen wurde; andernfalls NULL.

Beispiel

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

Rufen Sie diese Funktion auf, um das Handle des Bearbeitungssteuerelements abzurufen, das zum Bearbeiten des Texts eines Strukturansichtselements verwendet wird.

CEdit* GetEditControl() const;

Rückgabewert

Ein Zeiger auf das Bearbeitungssteuerelement, das zum Bearbeiten des Elementtexts verwendet wird, falls erfolgreich; andernfalls NULL.

Beispiel

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

Ruft die erweiterten Formatvorlagen ab, die das aktuelle Strukturansicht-Steuerelement verwendet.

DWORD GetExtendedStyle() const;

Rückgabewert

Ein Wert, der eine bitweise Kombination (OR) der erweiterten Formatvorlagen des steuerelements für die Strukturansicht enthält. Weitere Informationen finden Sie unter erweiterten Formatvorlagen für das Strukturansicht-Steuerelement.

Hinweise

Diese Methode sendet die TVM_GETEXTENDEDSTYLE Nachricht, die im Windows SDK beschrieben wird.

CTreeCtrl::GetFirstVisibleItem

Rufen Sie diese Funktion auf, um das erste sichtbare Element des Strukturansichtssteuerelements abzurufen.

HTREEITEM GetFirstVisibleItem() const;

Rückgabewert

Der Ziehpunkt des ersten sichtbaren Elements; andernfalls NULL.

Beispiel

Sehen Sie sich das Beispiel für CTreeCtrl::SetCheck.

CTreeCtrl::GetImageList

Rufen Sie diese Funktion auf, um das Handle der normalen oder Zustandsbildliste abzurufen, die dem Strukturansichtssteuerelement zugeordnet ist.

CImageList* GetImageList(UINT nImageList) const;

Parameter

nImageList
Typ der abzurufenden Bildliste. Die Bildliste kann einen der folgenden Werte aufweisen:

  • TVSIL_NORMAL Ruft die normale Bildliste ab, die die ausgewählten und nicht ausgewählten Bilder für das Strukturansichtselement enthält.

  • TVSIL_STATE Ruft die Statusbildliste ab, die die Bilder für Strukturansichtselemente enthält, die sich in einem benutzerdefinierten Zustand befinden.

Rückgabewert

Zeigen Sie bei erfolgreicher Ausführung auf die Bildliste des Steuerelements. andernfalls NULL.

Hinweise

Jedes Element in einem Strukturansichtssteuerelement kann ein Paar Bitmapbilder zugeordnet sein. Ein Bild wird angezeigt, wenn das Element ausgewählt ist, und die andere wird angezeigt, wenn das Element nicht ausgewählt ist. Ein Element kann z. B. einen geöffneten Ordner anzeigen, wenn er ausgewählt ist, und einen geschlossenen Ordner, wenn es nicht ausgewählt ist.

Weitere Informationen zu Bildlisten finden Sie in der CImageList Klasse.

Beispiel

ASSERT(m_TreeCtrl.GetImageList(TVSIL_NORMAL) == NULL);

m_TreeCtrl.SetImageList(&m_TreeImages, TVSIL_NORMAL);
ASSERT(m_TreeCtrl.GetImageList(TVSIL_NORMAL) == &m_TreeImages);

CTreeCtrl::GetIndent

Rufen Sie diese Funktion auf, um die Menge in Pixeln abzurufen, die untergeordnete Elemente relativ zu ihren übergeordneten Elementen eingezogen werden.

UINT GetIndent() const;

Rückgabewert

Die Größe des Einzugs in Pixel.

Beispiel

// Double the indent.
UINT uIndent = m_TreeCtrl.GetIndent();
m_TreeCtrl.SetIndent(2 * uIndent);

CTreeCtrl::GetInsertMarkColor

Diese Memberfunktion implementiert das Verhalten der Win32-Nachricht TVM_GETINSERTMARKCOLOR, wie im Windows SDK beschrieben.

COLORREF GetInsertMarkColor() const;

Rückgabewert

Ein COLORREF Wert, der die aktuelle Einfügemarkesfarbe enthält.

Beispiel

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

Rufen Sie diese Funktion auf, um die Attribute des angegebenen Strukturansichtselements abzurufen.

BOOL GetItem(TVITEM* pItem) const;

Parameter

pItem
Ein Zeiger auf eine TVITEM Struktur, wie im Windows SDK beschrieben.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Beispiel

Sehen Sie sich das Beispiel für CTreeCtrl::DeleteItem.

CTreeCtrl::GetItemData

Rufen Sie diese Funktion auf, um den anwendungsspezifischen Wert abzurufen, der dem angegebenen Element zugeordnet ist.

DWORD_PTR GetItemData(HTREEITEM hItem) const;

Parameter

hItem
Handle des Elements, dessen Daten abgerufen werden sollen.

Rückgabewert

Ein anwendungsspezifischer Zeigerwert, der dem element zugeordnet ist, das durch hItem.

Beispiel

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

Ruft den Index des Bilds ab, das angezeigt werden soll, wenn sich das angegebene Element des aktuellen Strukturansicht-Steuerelements im erweiterten Zustand befindet.

int GetItemExpandedImageIndex(HTREEITEM hItem)const;

Parameter

hItem
[in] Behandeln sie ein Strukturansicht-Steuerelementelement.

Rückgabewert

Der Index des Bilds, das angezeigt werden soll, wenn sich das angegebene Element im erweiterten Zustand befindet.

Hinweise

Diese Methode sendet die TVM_GETITEM Nachricht, die im Windows SDK beschrieben wird. Diese Meldung gibt die TVITEMEX Struktur zurück, die das Strukturansicht-Steuerelementelement beschreibt, und anschließend ruft diese Methode das iExpandedImage Element aus dieser Struktur ab.

CTreeCtrl::GetItemHeight

Diese Memberfunktion implementiert das Verhalten der Win32-Nachricht TVM_GETITEMHEIGHT, wie im Windows SDK beschrieben.

SHORT GetItemHeight() const;

Rückgabewert

Die Höhe des Elements in Pixel.

Beispiel

// Double the height of the items.
SHORT sHeight = m_TreeCtrl.GetItemHeight();
m_TreeCtrl.SetItemHeight(2 * sHeight);

CTreeCtrl::GetItemImage

Jedes Element in einem Strukturansichtssteuerelement kann ein Paar Bitmapbilder zugeordnet sein.

BOOL GetItemImage(
    HTREEITEM hItem,
    int& nImage,
    int& nSelectedImage) const;

Parameter

hItem
Das Handle des Elements, dessen Bild abgerufen werden soll.

nImage
Eine ganze Zahl, die den Index des Bilds des Elements in der Bildliste des Strukturansichtssteuerelements empfängt.

nSelectedImage
Eine ganze Zahl, die den Index des ausgewählten Bilds des Elements in der Bildliste des Strukturansichtssteuerelements empfängt.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Hinweise

Die Bilder werden auf der linken Seite der Beschriftung eines Elements angezeigt. Ein Bild wird angezeigt, wenn das Element ausgewählt ist, und die andere wird angezeigt, wenn das Element nicht ausgewählt ist. Ein Element kann z. B. einen geöffneten Ordner anzeigen, wenn er ausgewählt ist, und einen geschlossenen Ordner, wenn es nicht ausgewählt ist.

Rufen Sie diese Funktion auf, um den Index des Bilds des Elements und dessen ausgewähltes Bild in der Bildliste des Strukturansichtssteuerelements abzurufen.

Beispiel

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

Ruft das umgebende Rechteck für einen angegebenen Teil eines angegebenen Elements im aktuellen Strukturansicht-Steuerelement ab.

BOOL GetItemPartRect(
    HTREEITEM hItem,
    int nPart,
    LPRECT lpRect)const;

Parameter

hItem
[in] Behandeln sie ein Strukturansicht-Steuerelementelement.

nPart
[in] Bezeichner für den Teil. Muss auf TVGIPR_BUTTON festgelegt sein.

lpRect
[out] Zeiger auf eine RECT Struktur. Wenn diese Methode erfolgreich ist, empfängt die Struktur die Rechteckkoordinaten des durch hItem und .nPart

Rückgabewert

TRUEwenn diese Methode erfolgreich ist; andernfalls . FALSE

Hinweise

Jedes Struktursteuerelementelement ist durch ein Grafikrechteck gebunden. Wenn auf einen Punkt in diesem Rechteck geklickt wird, wird das Element als Treffer bezeichnet. Diese Methode gibt das größte Rechteck zurück, sodass beim Klicken auf einen Punkt im Rechteck das durch den hItem Parameter identifizierte Element erreicht wird.

Diese Methode sendet die TVM_GETITEMPARTRECT Nachricht, die im Windows SDK beschrieben wird. Weitere Informationen finden Sie im TreeView_GetItemPartRect Makro.

Beispiel

Im ersten Codebeispiel wird eine Variable definiert, m_treeCtrldie für den Zugriff auf das aktuelle Strukturansichtssteuerelement verwendet wird. Im Codebeispiel wird außerdem eine ganze Zahl ohne Vorzeichen und mehrere HTREEITEM Variablen definiert. Diese Variablen werden im nächsten Beispiel verwendet.

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;

Im nächsten Codebeispiel wird ein Barrierefreiheitsbezeichner und die CTreeCtrl::MapAccIdToItem Methode verwendet, um ein Handle für das Stammstrukturansichtselement abzurufen. Anschließend wird im Beispiel das Handle und die CTreeCtrl::GetItemPartRect Methode verwendet, um ein 3D-Rechteck um dieses Element zu zeichnen. In einem früheren Abschnitt des Codebeispiels, das nicht angezeigt wird, haben wir eine Strukturansicht erstellt, die aus einem Stammland-/Regionsknoten für die USA, Unterknoten für die Bundesstaaten Pennsylvania und Washington und Strukturelemente für Städte in diesen Staaten besteht. Wir haben die CTreeCtrl::MapItemToAccID Methode verwendet, um das Stammstrukturansichtselement einem Barrierefreiheitsbezeichner zuzuordnen.

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

Rufen Sie diese Funktion auf, um das umgebende Rechteck für hItem abzurufen und zu bestimmen, ob es sichtbar ist oder nicht.

BOOL GetItemRect(
    HTREEITEM hItem,
    LPRECT lpRect,
    BOOL bTextOnly) const;

Parameter

hItem
Das Handle eines Strukturansicht-Steuerelementelements.

lpRect
Zeiger auf eine RECT Struktur, die das umgebende Rechteck empfängt. Die Koordinaten sind relativ zur oberen linken Ecke des Strukturansichtssteuerelements.

bTextOnly
Wenn dieser Parameter nicht null ist, enthält das umgebende Rechteck nur den Text des Elements. Andernfalls enthält es die gesamte Zeile, die das Element im Strukturansichtssteuerelement belegt.

Rückgabewert

Nonzero, wenn das Element sichtbar ist, mit dem umgebenden Rechteck in lpRect. Andernfalls 0 mit lpRect nicht initialisiert.

Beispiel

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

Gibt den Status des durch hItem.

UINT GetItemState(
    HTREEITEM hItem,
    UINT nStateMask) const;

Parameter

hItem
Handle des Elements, dessen Status abgerufen werden soll.

nStateMask
Maske, die einen oder mehrere abzurufende Zustände angibt. Weitere Informationen zu möglichen Werten nStateMaskfinden Sie in der Diskussion über die state Struktur und stateMask die Member der TVITEM Struktur im Windows SDK.

Rückgabewert

A UINT that enthält den C++-bitweisen OR-Operator (|) der durch nStateMask. Informationen zu möglichen Werten finden Sie unter CTreeCtrl::GetItem. Um den Wert für einen bestimmten Zustand zu finden, führen Sie einen C++-Bitweise AND-Operator (&) f den Zustandswert und den Rückgabewert aus, wie im folgenden Beispiel gezeigt.

Beispiel

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

Ruft den erweiterten Zustand des angegebenen Elements im aktuellen Strukturansicht-Steuerelement ab.

UINT GetItemStateEx(HTREEITEM hItem) const;

Parameter

hItem
[in] Behandeln sie ein Strukturansicht-Steuerelementelement.

Rückgabewert

Der erweiterte Zustand des Elements. Weitere Informationen finden Sie im uStateEx Element der TVITEMEX Struktur.

Hinweise

Diese Methode sendet die TVM_GETITEM Nachricht, die im Windows SDK beschrieben wird. Diese Meldung gibt die TVITEMEX Struktur zurück, die das Strukturansicht-Steuerelementelement beschreibt, und diese Methode ruft das uStateEx Element aus dieser Struktur ab.

CTreeCtrl::GetItemText

Gibt den Text des durch hItem.

CString GetItemText(HTREEITEM hItem) const;

Parameter

hItem
Handle des Elements, dessen Text abgerufen werden soll.

Rückgabewert

Ein CString Objekt, das den Text des Elements enthält.

Beispiel

Sehen Sie sich das Beispiel für CTreeCtrl::GetNextItem.

CTreeCtrl::GetLastVisibleItem

Ruft das letzte nichtexpandierte Knotenelement im aktuellen Strukturansicht-Steuerelement ab.

HTREEITEM GetLastVisibleItem() const;

Rückgabewert

Das Handle zum letzten nicht erweiterten Knotenelement, wenn die Methode erfolgreich ist; andernfalls . NULL

Hinweise

Diese Methode sendet die TVM_GETNEXTITEM Nachricht, die im Windows SDK beschrieben wird. Weitere Informationen finden Sie im TVGN_LASTVISIBLE Flag im flag Parameter dieser Nachricht.

Beispiel

Im ersten Codebeispiel wird eine Variable definiert, m_treeCtrldie für den Zugriff auf das aktuelle Strukturansichtssteuerelement verwendet wird. Im Codebeispiel wird außerdem eine ganze Zahl ohne Vorzeichen und mehrere HTREEITEM Variablen definiert. Mindestens eine dieser Variablen wird im nächsten Beispiel verwendet.

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;

Das nächste Codebeispiel ruft ein Handle zum letzten nicht erweiterten Knotenelement der Strukturansicht ab und zeichnet dann ein 3D-Rechteck um dieses Element. In einem früheren Abschnitt des Codebeispiels, das nicht angezeigt wird, haben wir eine Strukturansicht erstellt, die aus einem Stammland-/Regionsknoten für die USA, Unterknoten für die Bundesstaaten Pennsylvania und Washington und Strukturelemente für Städte in diesen Staaten besteht.

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

Diese Memberfunktion implementiert das Verhalten der Win32-Nachricht TVM_GETLINECOLOR, wie im Windows SDK beschrieben.

COLORREF GetLineColor() const;

Rückgabewert

Die aktuelle Linienfarbe.

Beispiel

COLORREF cr = m_TreeCtrl.GetLineColor();

CTreeCtrl::GetNextItem

Rufen Sie diese Funktion auf, um das Strukturansichtselement abzurufen, das über die angegebene Beziehung verfügt, die durch den nCode Parameter angegeben ist, zu hItem.

HTREEITEM GetNextItem(
    HTREEITEM hItem,
    UINT nCode) const;

Parameter

hItem
Handle eines Strukturelements.

nCode
Ein Kennzeichen, das den Typ der Beziehung angibt hItem. Dieses Kennzeichen kann einen der folgenden Werte aufweisen:

  • TVGN_CARET Ruft das aktuell ausgewählte Element ab.

  • TVGN_CHILD Ruft das erste untergeordnete Element des durch den hItem Parameter angegebenen Elements ab.

  • TVGN_DROPHILITE Ruft das Element ab, das das Ziel eines Drag-and-Drop-Vorgangs ist.

  • TVGN_FIRSTVISIBLE Ruft das erste sichtbare Element ab.

  • TVGN_LASTVISIBLE Ruft das letzte erweiterte Element in der Struktur ab. Dadurch wird das letzte im Strukturansichtsfenster sichtbare Element nicht abgerufen.

  • TVGN_NEXT Ruft das nächste gleichgeordnete Element ab.

  • TVGN_NEXTVISIBLE Ruft das nächste sichtbare Element ab, das auf das angegebene Element folgt.

  • TVGN_PARENT Ruft das übergeordnete Element des angegebenen Elements ab.

  • TVGN_PREVIOUS Ruft das vorherige gleichgeordnete Element ab.

  • TVGN_PREVIOUSVISIBLE Ruft das erste sichtbare Element ab, das dem angegebenen Element vorausgeht.

  • TVGN_ROOT Ruft das erste untergeordnete Element des Stammelements ab, von dem das angegebene Element ein Teil ist.

Rückgabewert

Das Handle des nächsten Elements bei erfolgreicher Ausführung; andernfalls NULL.

Hinweise

Diese Funktion gibt zurück NULL , wenn das abgerufene Element der Stammknoten der Struktur ist. Wenn Sie diese Nachricht beispielsweise mit der TVGN_PARENT Kennzeichnung auf einem untergeordneten Element der Strukturansicht des Stammknotens der Strukturansicht verwenden, wird die Nachricht zurückgegeben NULL.

Beispiel

Ein Beispiel für die Verwendung GetNextItem in einer Schleife finden Sie unter 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

Rufen Sie diese Funktion auf, um das nächste gleichgeordnete Element von hItem.

HTREEITEM GetNextSiblingItem(HTREEITEM hItem) const;

Parameter

hItem
Handle eines Strukturelements.

Rückgabewert

Das Handle des nächsten gleichgeordneten Elements; andernfalls NULL.

Beispiel

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

Rufen Sie diese Funktion auf, um das nächste sichtbare Element von hItem.

HTREEITEM GetNextVisibleItem(HTREEITEM hItem) const;

Parameter

hItem
Handle eines Strukturelements.

Rückgabewert

Das Handle des nächsten sichtbaren Elements; andernfalls NULL.

Beispiel

Sehen Sie sich das Beispiel für CTreeCtrl::SetCheck.

CTreeCtrl::GetParentItem

Rufen Sie diese Funktion auf, um das übergeordnete Element von hItem.

HTREEITEM GetParentItem(HTREEITEM hItem) const;

Parameter

hItem
Handle eines Strukturelements.

Rückgabewert

Das Handle des übergeordneten Elements; andernfalls NULL.

Hinweise

Diese Funktion wird zurückgegeben NULL , wenn das übergeordnete Element des angegebenen Elements der Stammknoten der Struktur ist.

Beispiel

Sehen Sie sich das Beispiel für CTreeCtrl::EnsureVisible.

CTreeCtrl::GetPrevSiblingItem

Rufen Sie diese Funktion auf, um das vorherige gleichgeordnete Element von hItem.

HTREEITEM GetPrevSiblingItem(HTREEITEM hItem) const;

Parameter

hItem
Handle eines Strukturelements.

Rückgabewert

Das Handle des vorherigen gleichgeordneten Element; andernfalls NULL.

Beispiel

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

Rufen Sie diese Funktion auf, um das vorherige sichtbare Element von hItem.

HTREEITEM GetPrevVisibleItem(HTREEITEM hItem) const;

Parameter

hItem
Handle eines Strukturelements.

Rückgabewert

Das Handle des vorherigen sichtbaren Elements; andernfalls NULL.

Beispiel

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

Rufen Sie diese Funktion auf, um das Stammelement des Strukturansichtssteuerelements abzurufen.

HTREEITEM GetRootItem() const;

Rückgabewert

Das Handle des Stammelements; andernfalls NULL.

Beispiel

Sehen Sie sich das Beispiel für CTreeCtrl::EditLabel.

CTreeCtrl::GetScrollTime

Rufen Sie diese Memberfunktion auf, um die maximale Bildlaufzeit für das Strukturansichtssteuerelement abzurufen.

UINT GetScrollTime() const;

Rückgabewert

Die maximale Bildlaufzeit in Millisekunden.

Hinweise

Diese Memberfunktion implementiert das Verhalten der Win32-Nachricht TVM_GETSCROLLTIME, wie im Windows SDK beschrieben.

CTreeCtrl::GetSelectedCount

Ruft die Anzahl der ausgewählten Elemente im aktuellen Strukturansicht-Steuerelement ab.

UINT GetSelectedCount();

Rückgabewert

Die Anzahl der ausgewählten Elemente.

Hinweise

Diese Methode sendet die TVM_GETSELECTEDCOUNT Nachricht, die im Windows SDK beschrieben wird.

CTreeCtrl::GetSelectedItem

Rufen Sie diese Funktion auf, um das aktuell ausgewählte Element des Strukturansichtssteuerelements abzurufen.

HTREEITEM GetSelectedItem() const;

Rückgabewert

Das Handle des ausgewählten Elements; andernfalls NULL.

Beispiel

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

Diese Memberfunktion implementiert das Verhalten der Win32-Nachricht TVM_GETTEXTCOLOR, wie im Windows SDK beschrieben.

COLORREF GetTextColor() const;

Rückgabewert

Ein COLORREF Wert, der die aktuelle Textfarbe darstellt. Wenn dieser Wert -1 ist, verwendet das Steuerelement die Systemfarbe für die Textfarbe.

Beispiel

Sehen Sie sich das Beispiel für CTreeCtrl::SetTextColor.

CTreeCtrl::GetToolTips

Diese Memberfunktion implementiert das Verhalten der Win32-Nachricht TVM_GETTOOLTIPS, wie im Windows SDK beschrieben.

CToolTipCtrl* GetToolTips() const;

Rückgabewert

Ein Zeiger auf ein CToolTipCtrl Objekt, das vom Struktursteuerelement verwendet werden soll. Wenn die Create Memberfunktion die Formatvorlage TVS_NOTOOLTIPSverwendet, werden keine QuickInfos verwendet und NULL zurückgegeben.

Hinweise

Die MFC-Implementierung gibt GetToolTips ein CToolTipCtrl Objekt zurück, das vom Struktursteuerelement anstelle eines Handles für ein QuickInfo-Steuerelement verwendet wird.

Beispiel

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

Rufen Sie diese Funktion auf, um die Anzahl der sichtbaren Elemente in einem Strukturansichtssteuerelement abzurufen.

UINT GetVisibleCount() const;

Rückgabewert

Die Anzahl der sichtbaren Elemente im Strukturansichtssteuerelement; andernfalls - 1.

Beispiel

Sehen Sie sich das Beispiel für CTreeCtrl::SetCheck.

CTreeCtrl::HitTest

Rufen Sie diese Funktion auf, um die Position des angegebenen Punkts relativ zum Clientbereich eines Strukturansichtssteuerelements zu bestimmen.

HTREEITEM HitTest(
    CPoint pt,
    UINT* pFlags = NULL) const;

HTREEITEM HitTest(TVHITTESTINFO* pHitTestInfo) const;

Parameter

pt
Clientkoordinaten des zu testenden Punkts.

pFlags
Zeigen Sie auf eine ganze Zahl, die Informationen zu den Ergebnissen des Treffertests empfängt. Es kann sich um einen oder mehrere der Werte handeln, die im Abschnitt "Anmerkungen" unter dem flags Element aufgeführt sind.

pHitTestInfo
Adresse einer TVHITTESTINFO Struktur, die die Position zum Treffertest enthält und Informationen über die Ergebnisse des Treffertests empfängt.

Rückgabewert

Das Handle des Strukturansichtselements, das den angegebenen Punkt belegt oder NULL wenn kein Element den Punkt belegt.

Hinweise

Wenn diese Funktion aufgerufen wird, gibt der pt Parameter die Koordinaten des zu testenden Punkts an. Die Funktion gibt das Handle des Elements an dem angegebenen Punkt zurück oder NULL wenn kein Element den Punkt belegt. Darüber hinaus enthält der pFlags Parameter einen Wert, der die Position des angegebenen Punkts angibt. Dabei sind folgende Werte möglich:

Wert Beschreibung
TVHT_ABOVE Über dem Clientbereich.
TVHT_BELOW Unterhalb des Clientbereichs.
TVHT_NOWHERE Im Clientbereich, aber unter dem letzten Element.
TVHT_ONITEM Auf der Bitmap oder Beschriftung, die einem Element zugeordnet ist.
TVHT_ONITEMBUTTON Auf der Schaltfläche, die einem Element zugeordnet ist.
TVHT_ONITEMICON Auf der Bitmap, die einem Element zugeordnet ist.
TVHT_ONITEMINDENT Im Einzug, der einem Element zugeordnet ist.
TVHT_ONITEMLABEL Auf der Bezeichnung (Zeichenfolge), die einem Element zugeordnet ist.
TVHT_ONITEMRIGHT Rechts neben einem Element.
TVHT_ONITEMSTATEICON Auf dem Statussymbol für ein Strukturansichtselement, das sich in einem benutzerdefinierten Zustand befindet.
TVHT_TOLEFT Links neben dem Clientbereich.
TVHT_TORIGHT Rechts neben dem Kundenbereich.

Beispiel

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

Rufen Sie diese Funktion auf, um ein neues Element in ein Strukturansichtssteuerelement einzufügen.

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);

Parameter

lpInsertStruct
Ein Zeiger auf ein TVINSERTSTRUCT Element, das die Attribute des einzufügenden Strukturansichtselements angibt.

nMask
Ganze Zahl, die angibt, welche Attribute festgelegt werden sollen. Weitere Informationen finden Sie in der TVITEM Struktur im Windows SDK.

lpszItem
Adresse einer Zeichenfolge, die den Text des Elements enthält.

nImage
Index des Bilds des Elements in der Bildliste des Strukturansichtssteuerelements.

nSelectedImage
Index des ausgewählten Bilds des Elements in der Bildliste des Strukturansichtssteuerelements.

nState
Gibt Werte für die Zustände des Elements an. Eine Liste der geeigneten Zustände finden Sie unter Strukturansicht-Steuerelementelementzustände im Windows SDK.

nStateMask
Gibt an, welche Zustände festgelegt werden sollen. Weitere Informationen finden Sie in der TVITEM Struktur im Windows SDK.

lParam
Ein anwendungsspezifischer Zeigerwert, der dem Element zugeordnet ist.

hParent
Handle des übergeordneten Elements des eingefügten Elements.

hInsertAfter
Handle des Elements, nach dem das neue Element eingefügt werden soll.

Rückgabewert

Handle des neuen Elements bei erfolgreicher Ausführung; andernfalls NULL.

Hinweise

Das Beispiel zeigt Situationen, in denen Sie beim Einfügen eines Struktursteuerelementelements jede Version der Funktion verwenden möchten.

Beispiel

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

Verwenden Sie diese Funktion, um zu bestimmen, ob das durch hItem untergeordnete Elemente angegebene Strukturelement vorhanden ist.

BOOL ItemHasChildren(HTREEITEM hItem) const;

Parameter

hItem
Handle eines Strukturelements.

Rückgabewert

Nonzero, wenn das von hItem untergeordneten Elementen angegebene Strukturelement; 0, wenn dies nicht der Fall ist.

Hinweise

Wenn ja, können Sie diese untergeordneten Elemente abrufen CTreeCtrl::GetChildItem .

Beispiel

Sehen Sie sich das Beispiel für CTreeCtrl::GetSelectedItem.

CTreeCtrl::MapAccIdToItem

Karten der angegebenen Barrierefreiheits-ID für das Handle eines Strukturansichtselements im aktuellen Strukturansicht-Steuerelement.

HTREEITEM MapAccIdToItem(UINT uAccId) const;

Parameter

uAccId
[in] Ein Barrierefreiheitsbezeichner für ein Element im Strukturansichtselement.

Rückgabewert

Das Handle für ein Strukturansichtselement (HTREEITEM), das dem uAccId Parameter entspricht. Weitere Informationen finden Sie im hItem Element der TVITEMEX Struktur.

Hinweise

Barrierefreiheitshilfen sind Anwendungen, die Menschen mit Behinderungen bei der Verwendung von Computern unterstützen. Eine Barrierefreiheits-ID wird von der IAccessible Schnittstelle verwendet, um ein Element in einem Fenster eindeutig anzugeben. Weitere Informationen zu den IAccessible APIs finden Sie unter Microsoft Active Accessibility.

Diese Methode sendet die TVM_MAPACCIDTOHTREEITEM Nachricht, die im Windows SDK beschrieben wird.

Beispiel

Im ersten Codebeispiel wird eine Variable definiert, m_treeCtrldie für den Zugriff auf das aktuelle Strukturansichtssteuerelement verwendet wird. Im Codebeispiel wird außerdem eine ganze Zahl ohne Vorzeichen und mehrere HTREEITEM Variablen definiert. Diese Variablen werden im nächsten Beispiel verwendet.

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;

Im nächsten Codebeispiel wird ein Barrierefreiheitsbezeichner und die CTreeCtrl::MapAccIdToItem Methode verwendet, um ein Handle für das Stammstrukturansichtselement abzurufen. Im Beispiel wird das Handle und die CTreeCtrl::GetItemPartRect Methode verwendet, um ein 3D-Rechteck um dieses Element zu zeichnen. In einem früheren Abschnitt des Codebeispiels, das nicht angezeigt wird, haben wir eine Strukturansicht erstellt, die aus einem Stammland-/Regionsknoten für die USA, Unterknoten für die Bundesstaaten Pennsylvania und Washington und Strukturelemente für Städte in diesen Staaten besteht. Wir haben die CTreeCtrl::MapItemToAccID Methode verwendet, um das Stammstrukturansichtselement einem Barrierefreiheitsbezeichner zuzuordnen.

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

Karten das angegebene Handle eines Strukturansichtselements im aktuellen Strukturansicht-Steuerelement auf einen Barrierefreiheitsbezeichner.

UINT MapItemToAccID(HTREEITEM hItem) const;

Parameter

hItem
[in] Ein Handle eines Strukturansichtselements im Steuerelement. Weitere Informationen finden Sie im hItem Element der TVITEMEX Struktur.

Rückgabewert

Der Barrierefreiheitsbezeichner, der dem hItem-Parameter entspricht.

Hinweise

Barrierefreiheitshilfen sind Anwendungen, die Menschen mit Behinderungen bei der Verwendung von Computern unterstützen. Eine Barrierefreiheits-ID wird von der IAccessible Schnittstelle verwendet, um ein Element in einem Fenster eindeutig anzugeben. Weitere Informationen zu den IAccessible APIs finden Sie unter Microsoft Active Accessibility.

Diese Methode sendet die TVM_MAPHTREEITEMTOACCID Nachricht, die im Windows SDK beschrieben wird.

Beispiel

Im ersten Codebeispiel wird eine Variable definiert, m_treeCtrldie für den Zugriff auf das aktuelle Strukturansichtssteuerelement verwendet wird. Im Codebeispiel wird außerdem eine ganze Zahl ohne Vorzeichen und mehrere HTREEITEM Variablen definiert. Diese Variablen werden im nächsten Beispiel verwendet.

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;

Das nächste Codebeispiel ruft eine Identifikationsnummer für ein Strukturansicht-Steuerelementelement ab. In einem früheren Abschnitt des Codebeispiels, das nicht angezeigt wird, haben wir eine Strukturansicht erstellt, die aus einem Stammland-/Regionsknoten für die USA, Unterknoten für die Bundesstaaten Pennsylvania und Washington und Strukturelemente für Städte in diesen Staaten besteht. In diesem Codebeispiel wird eine eindeutige Identifikationsnummer für den Stammknoten "Land/Region" ermittelt.

// Map an accessibility identifier to the Pennsylvania node.
accIdUS = m_treeCtrl.MapItemToAccId(hCountry);

CTreeCtrl::Select

Rufen Sie diese Funktion auf, um das angegebene Strukturansichtselement auszuwählen, das Element in die Ansicht zu scrollen oder das Element in der Formatvorlage neu zu zeichnen, mit der das Ziel eines Drag-and-Drop-Vorgangs angegeben wird.

BOOL Select(
    HTREEITEM hItem,
    UINT nCode);

Parameter

hItem
Handle eines Strukturelements.

nCode
Die Art der auszuführenden Aktion. Dieser Parameter kann einen der folgenden -Werte aufweisen:

  • TVGN_CARET Legt die Auswahl auf das angegebene Element fest.

  • TVGN_DROPHILITE Das angegebene Element in der Formatvorlage wird neu gezeichnet, um das Ziel eines Drag-and-Drop-Vorgangs anzugeben.

  • TVGN_FIRSTVISIBLE Scrollt die Strukturansicht vertikal, sodass das angegebene Element das erste sichtbare Element ist.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Hinweise

Wenn nCode der Wert TVGN_CARETenthalten ist, empfängt das übergeordnete Fenster die TVN_SELCHANGING Benachrichtigungen und TVN_SELCHANGED Benachrichtigungen. Wenn das angegebene Element das untergeordnete Element eines reduzierten übergeordneten Elements ist, wird die Liste der untergeordneten Elemente des übergeordneten Elements erweitert, um das angegebene Element anzuzeigen. In diesem Fall empfängt das übergeordnete Fenster die TVN_ITEMEXPANDING Benachrichtigungen und TVN_ITEMEXPANDED Benachrichtigungen.

Beispiel

Sehen Sie sich das Beispiel für CTreeCtrl::HitTest.

CTreeCtrl::SelectDropTarget

Rufen Sie diese Funktion auf, um das Element in der Formatvorlage neu zu zeichnen, die verwendet wird, um das Ziel eines Drag-and-Drop-Vorgangs anzugeben.

BOOL SelectDropTarget(HTREEITEM hItem);

Parameter

hItem
Handle eines Strukturelements.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Beispiel

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

Rufen Sie diese Funktion auf, um das angegebene Strukturansichtselement auszuwählen.

BOOL SelectItem(HTREEITEM hItem);

Parameter

hItem
Handle eines Strukturelements.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Hinweise

Ist hItem dies der Fall NULL, wählt diese Funktion kein Element aus.

Beispiel

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

Rufen Sie diese Funktion auf, um die Strukturansicht vertikal zu scrollen, sodass das angegebene Element das erste sichtbare Element ist.

BOOL SelectSetFirstVisible(HTREEITEM hItem);

Parameter

hItem
Handle des Strukturelements, das als erstes sichtbares Element festgelegt werden soll.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Hinweise

Die Funktion sendet eine Nachricht mit den TVM_SELECTITEM Parametern und TVGN_FIRSTVISIBLE Nachrichten an das Fenster.

Beispiel

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

Legt die autokrollrate des aktuellen Strukturansicht-Steuerelements fest.

BOOL SetAutoscrollInfo(
    UINT uPixelsPerSec,
    UINT uUpdateTime);

Parameter

uPixelsPerSec
[in] Die Anzahl der Pixel pro Sekunde, um zu scrollen.

uUpdateTime
[in] Das Zeitintervall zwischen Aktualisierungen des Steuerelements.

Rückgabewert

Gibt immer TRUE zurück.

Hinweise

Die autocroll-Parameter werden verwendet, um einen Bildlauf in ein Element anzuzeigen, das derzeit nicht sichtbar ist. Das Strukturansicht-Steuerelement muss über die TVS_EX_AUTOHSCROLL erweiterte Formatvorlage verfügen, die in erweiterten Formatvorlagen des Strukturansicht-Steuerelements beschrieben wird.

Diese Methode sendet die TVM_SETAUTOSCROLLINFO Nachricht, die im Windows SDK beschrieben wird.

Beispiel

Im ersten Codebeispiel wird eine Variable definiert, m_treeCtrldie für den Zugriff auf das aktuelle Strukturansichtssteuerelement verwendet wird. Im Codebeispiel wird außerdem eine ganze Zahl ohne Vorzeichen und mehrere HTREEITEM Variablen definiert. Diese Variablen werden im nächsten Beispiel verwendet.

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;

Im nächsten Codebeispiel wird das Verhalten der automatischen Registrierung des aktuellen Strukturansicht-Steuerelements festgelegt. In einem früheren Abschnitt des Codebeispiels, das nicht angezeigt wird, haben wir eine Strukturansicht erstellt, die aus einem Stammland-/Regionsknoten für die USA, Unterknoten für die Bundesstaaten Pennsylvania und Washington und Strukturelemente für Städte in diesen Staaten besteht. Wir haben absichtlich das Strukturansichtssteuerelement schmal gemacht, sodass es automatisch scrollen muss, um das Strukturelement anzuzeigen, das den Fokus hat. Im Codebeispiel wird festgelegt, dass das Strukturansichtssteuerelement alle 5 Sekunden automatisch 30 Pixel pro Sekunde scrollen soll, bis das Strukturelement in der Ansicht ist.

// Scroll 30 pixels/sec and redraw every 5 seconds.
m_treeCtrl.SetAutoscrollInfo(30, 5);

CTreeCtrl::SetBkColor

Diese Memberfunktion implementiert das Verhalten der Win32-Nachricht TVM_SETBKCOLOR, wie im Windows SDK beschrieben.

COLORREF SetBkColor(COLORREF clr);

Parameter

clr
Ein COLORREF Wert, der die neue Hintergrundfarbe enthält. Wenn dieser Wert -1 ist, wird das Steuerelement rückgängig machen, um die Systemfarbe für die Hintergrundfarbe zu verwenden.

Rückgabewert

Ein COLORREF Wert, der die aktuelle Textfarbe darstellt. Wenn dieser Wert -1 ist, verwendet das Steuerelement die Systemfarbe für die Textfarbe.

Beispiel

Sehen Sie sich das Beispiel für CTreeCtrl::SetTextColor.

CTreeCtrl::SetCheck

Rufen Sie diese Memberfunktion auf, um den Überprüfungsstatus für ein Struktursteuerelementelement festzulegen.

BOOL SetCheck(
    HTREEITEM hItem,
    BOOL fCheck = TRUE);

Parameter

hItem
Die HTREEITEM Änderung des Überprüfungsstatus wird angezeigt.

fCheck
Gibt an, ob das Struktursteuerelementelement aktiviert oder deaktiviert werden soll. Legt standardmäßig SetCheck das zu überprüfende Element fest.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Hinweise

Wenn das Struktursteuerelement-Element aktiviert ist (fCheck auf TRUE), wird das Element mit einem angrenzenden Häkchen angezeigt.

Beispiel

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);
}

Um Kontrollkästchen zu verwenden, legen Sie vor dem Auffüllen des Struktursteuerelements fest TVS_CHECKBOXES .

m_TreeCtrl.ModifyStyle(0, TVS_CHECKBOXES);

HTREEITEM aItem = m_TreeCtrl.InsertItem(_T("AAA"));
m_TreeCtrl.SetCheck(aItem);

CTreeCtrl::SetExtendedStyle

Legt die erweiterten Formatvorlagen für das aktuelle Strukturansicht-Steuerelement fest.

DWORD SetExtendedStyle(
    DWORD dwExMask,
    DWORD dwExStyles);

Parameter

dwExMask
[in] Eine Bitmaske, die angibt, welche Formatvorlagen im aktuellen Strukturansichtssteuerelement von dieser Methode betroffen sind. Wenn dieser Parameter null ist, wird er ignoriert, und der Wert des dwExStyles Parameters wird dem Strukturansicht-Steuerelement zugewiesen. Geben Sie null oder eine bitweise Kombination (OR) von Formatvorlagen an, die in erweiterten Formatvorlagen des Strukturansicht-Steuerelements beschrieben werden.

dwExStyles
[in] Eine Bitmaske, die angibt, welche Formatvorlagen im aktuellen Strukturansicht-Steuerelement festgelegt oder gelöscht werden sollen. Um eine Kombination von Formatvorlagen festzulegen, geben Sie eine bitweise Kombination (OR) von Formatvorlagen an, die in erweiterten Formatvorlagen des Strukturansicht-Steuerelements beschrieben sind. Geben Sie null an, um eine Reihe von Formatvorlagen zu löschen.

Rückgabewert

Ein Wert, der die vorherigen erweiterten Steuerelementformatvorlagen enthält.

Hinweise

Diese Methode löscht die im dwExMask Parameter angegebenen Formatvorlagen und legt dann die im dwExStyles Parameter angegebenen Formatvorlagen fest. Nur die erweiterten Formatvorlagen, die den geänderten dwExMask Bits entsprechen.

Diese Methode sendet die TVM_SETEXTENDEDSTYLE Nachricht, die im Windows SDK beschrieben wird.

Beispiel

Im ersten Codebeispiel wird eine Variable definiert, m_treeCtrldie für den Zugriff auf das aktuelle Strukturansichtssteuerelement verwendet wird. Im Codebeispiel wird außerdem eine ganze Zahl ohne Vorzeichen und mehrere HTREEITEM Variablen definiert. Diese Variablen werden im nächsten Beispiel verwendet.

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;

Im nächsten Codebeispiel wird dem aktuellen Strukturansichtssteuerelement die TVS_EX_AUTOHSCROLL erweiterte Formatvorlage hinzugefügt. In einem früheren Abschnitt des Codebeispiels, das nicht angezeigt wird, haben wir eine Strukturansicht erstellt, die aus einem Stammland-/Regionsknoten für die USA, Unterknoten für die Bundesstaaten Pennsylvania und Washington und Strukturelemente für Städte in diesen Staaten besteht. Wir haben absichtlich das Strukturansichtssteuerelement schmal gemacht, sodass es automatisch scrollen muss, um das Strukturelement anzuzeigen, das den Fokus hat.

m_treeCtrl.SetExtendedStyle(TVS_EX_AUTOHSCROLL, TVS_EX_AUTOHSCROLL);

CTreeCtrl::SetImageList

Rufen Sie diese Funktion auf, um die Normal- oder Zustandsbildliste für ein Strukturansichtssteuerelement festzulegen und das Steuerelement mithilfe der neuen Bilder neu zu zeichnen.

CImageList* SetImageList(
    CImageList* pImageList,
    int nImageListType);

Parameter

pImageList
Zeiger auf die Bildliste, die zugewiesen werden soll. Wenn pImageList ja NULL, werden alle Bilder aus dem Strukturansichtssteuerelement entfernt.

nImageListType
Typ der festzulegenden Bildliste. Die Bildliste kann einen der folgenden Werte aufweisen:

  • TVSIL_NORMAL Legt die normale Bildliste fest, die die ausgewählten und nicht ausgewählten Bilder für das Strukturansichtselement enthält. Sie müssen diesen Zustand für Überlagerungsbilder verwenden.

  • TVSIL_STATE Legt die Statusbildliste fest, die die Bilder für Strukturansichtselemente enthält, die sich in einem benutzerdefinierten Zustand befinden.

Rückgabewert

Zeigen Sie bei Bedarf auf die vorherige Bildliste. andernfalls NULL.

Beispiel

Sehen Sie sich das Beispiel für CTreeCtrl::GetImageList.

CTreeCtrl::SetIndent

Rufen Sie diese Funktion auf, um die Breite des Einzugs für ein Strukturansichtssteuerelement festzulegen und das Steuerelement neu zu zeichnen, um die neue Breite widerzuspiegeln.

void SetIndent(UINT nIndent);

Parameter

nIndent
Breite des Einzugs in Pixel. Wenn nIndent die vom System definierte Mindestbreite kleiner ist, wird die neue Breite auf das vom System definierte Minimum festgelegt.

Beispiel

Sehen Sie sich das Beispiel für CTreeCtrl::GetIndent.

CTreeCtrl::SetInsertMark

Diese Memberfunktion implementiert das Verhalten der Win32-Nachricht TVM_SETINSERTMARK, wie im Windows SDK beschrieben.

BOOL SetInsertMark(
    HTREEITEM hItem,
    BOOL fAfter = TRUE);

Parameter

hItem
HTREEITEM das angibt, an welchem Element die Einfügemarke platziert wird. Wenn dieses Argument NULL ist, wird die Einfügemarke entfernt.

fAfter
BOOL-Wert, der angibt, ob die Einfügemarke vor oder nach dem angegebenen Element platziert wird. Wenn dieses Argument nicht null ist, wird die Einfügemarke hinter dem Element platziert. Wenn dieses Argument null ist, wird die Einfügemarke vor dem Element platziert.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Beispiel

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

Diese Memberfunktion implementiert das Verhalten der Win32-Nachricht TVM_SETINSERTMARKCOLOR, wie im Windows SDK beschrieben.

COLORREF SetInsertMarkColor(COLORREF clrNew);

Parameter

clrNew
Ein COLORREF Wert, der die neue Einfügemarkesfarbe enthält.

Rückgabewert

Ein COLORREF Wert, der die vorherige Einfügemarkesfarbe enthält.

Beispiel

Sehen Sie sich das Beispiel für CTreeCtrl::GetInsertMarkColor.

CTreeCtrl::SetItem

Rufen Sie diese Funktion auf, um die Attribute des angegebenen Strukturansichtselements festzulegen.

BOOL SetItem(TVITEM* pItem);

BOOL SetItem(
    HTREEITEM hItem,
    UINT nMask,
    LPCTSTR lpszItem,
    int nImage,
    int nSelectedImage,
    UINT nState,
    UINT nStateMask,
    LPARAM lParam);

Parameter

pItem
Ein Zeiger auf eine TVITEM Struktur, die die neuen Elementattribute enthält, wie im Windows SDK beschrieben.

hItem
Handle des Elements, dessen Attribute festgelegt werden sollen. Sehen Sie sich das hItem Element der TVITEM Struktur im Windows SDK an.

nMask
Ganze Zahl, die angibt, welche Attribute festgelegt werden sollen. Sehen Sie sich das mask Element der Struktur an TVITEM .

lpszItem
Adresse einer Zeichenfolge, die den Text des Elements enthält.

nImage
Index des Bilds des Elements in der Bildliste des Strukturansichtssteuerelements. Sehen Sie sich das iImage Element der Struktur an TVITEM .

nSelectedImage
Index des ausgewählten Bilds des Elements in der Bildliste des Strukturansichtssteuerelements. Sehen Sie sich das iSelectedImage Element der Struktur an TVITEM .

nState
Gibt Werte für die Zustände des Elements an. Sehen Sie sich das State Element der Struktur an TVITEM .

nStateMask
Gibt an, welche Zustände festgelegt werden sollen. Sehen Sie sich das stateMask Element der Struktur an TVITEM .

lParam
Ein anwendungsspezifischer Zeigerwert, der dem Element zugeordnet ist.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Hinweise

In der TVITEM Struktur identifiziert das Element das hItem Element, und das mask Element gibt an, welche Attribute festgelegt werden sollen.

Wenn das mask Element oder der nMask Parameter den TVIF_TEXT Wert angibt, wird das pszText Element oder die lpszItem Adresse einer null-beendeten Zeichenfolge und das cchTextMax Element ignoriert. Wenn mask (oder nMask) den TVIF_STATE Wert angibt, gibt das stateMask Element oder der nStateMask Parameter an, welche Elementzustände geändert werden sollen, und der state Member oder nState Parameter enthält die Werte für diese Zustände.

Beispiel

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

Rufen Sie diese Funktion auf, um den anwendungsspezifischen Wert festzulegen, der dem angegebenen Element zugeordnet ist.

BOOL SetItemData(
    HTREEITEM hItem,
    DWORD_PTR dwData);

Parameter

hItem
Handle des Elements, dessen Daten abgerufen werden sollen.

dwData
Ein anwendungsspezifischer Zeigerwert, der dem element zugeordnet ist, das durch hItem.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Beispiel

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

Legt den Index des Bilds fest, das angezeigt werden soll, wenn sich das angegebene Element des aktuellen Strukturansicht-Steuerelements im erweiterten Zustand befindet.

BOOL SetItemExpandedImageIndex(
    HTREEITEM hItem,
    int iExpandedImage);

Parameter

hItem
[in] Behandeln sie ein Strukturansicht-Steuerelementelement.

iExpandedImage
[in] Der Index des Bilds, das angezeigt werden soll, wenn sich das angegebene Element im erweiterten Zustand befindet.

Rückgabewert

TRUEwenn diese Methode erfolgreich ist; andernfalls . FALSE

Hinweise

Diese Methode sendet die TVM_SETITEM Nachricht, die im Windows SDK beschrieben wird. Diese Methode weist dem Element einer TVITEMEX Struktur den iExpandedImage Parameter zu iExpandedImage und verwendet diese Struktur dann in der Nachricht.

Beispiel

Im ersten Codebeispiel wird eine Variable definiert, m_treeCtrldie für den Zugriff auf das aktuelle Strukturansichtssteuerelement verwendet wird. Im Codebeispiel wird außerdem eine ganze Zahl ohne Vorzeichen und mehrere HTREEITEM Variablen definiert. Diese Variablen werden im nächsten Beispiel verwendet.

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;

Das nächste Codebeispiel ist ein trivialer Test, um zu bestimmen, ob die CTreeCtrl::GetItemExpandedImageIndex Methode den von der CTreeCtrl::SetItemExpandedImageIndex Methode festgelegten Wert zurückgibt. In einem früheren Abschnitt des Codebeispiels, das nicht angezeigt wird, haben wir eine Strukturansicht erstellt, die aus einem Stammland-/Regionsknoten für die USA, Unterknoten für die Bundesstaaten Pennsylvania und Washington und Strukturelemente für Städte in diesen Staaten besteht.

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

Diese Memberfunktion implementiert das Verhalten der Win32-Nachricht TVM_SETITEMHEIGHT, wie im Windows SDK beschrieben.

SHORT SetItemHeight(SHORT cyHeight);

Parameter

cyHeight
Gibt die neue Höhe jedes Elements in der Strukturansicht in Pixel an. Wenn dieses Argument kleiner als die Höhe der Bilder ist, wird es auf die Höhe der Bilder festgelegt. Wenn dieses Argument nicht einmal ist, wird es auf den nächsten geraden Wert aufgerundet. Wenn dieses Argument -1 lautet, rückgängig machen das Steuerelement die Standardelementhöhe verwendet.

Rückgabewert

Die vorherige Höhe der Elemente in Pixel.

Beispiel

Sehen Sie sich das Beispiel für CTreeCtrl::GetItemHeight.

CTreeCtrl::SetItemImage

Ordnet Bilder einem Element zu.

BOOL SetItemImage(
    HTREEITEM hItem,
    int nImage,
    int nSelectedImage);

Parameter

hItem
Handle des Elements, dessen Bild festgelegt werden soll.

nImage
Index des Bilds des Elements in der Bildliste des Strukturansichtssteuerelements.

nSelectedImage
Index des ausgewählten Bilds des Elements in der Bildliste des Strukturansichtssteuerelements.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Hinweise

Jedes Element in einem Strukturansichtssteuerelement kann ein Paar Bitmapbilder zugeordnet sein. Die Bilder werden auf der linken Seite der Beschriftung eines Elements angezeigt. Ein Bild wird angezeigt, wenn das Element ausgewählt ist, und die andere wird angezeigt, wenn das Element nicht ausgewählt ist. Ein Element kann z. B. einen geöffneten Ordner anzeigen, wenn er ausgewählt ist, und einen geschlossenen Ordner, wenn es nicht ausgewählt ist.

Rufen Sie diese Funktion auf, um den Index des Bilds des Elements und dessen ausgewähltes Bild in der Bildliste des Strukturansichtssteuerelements festzulegen.

Weitere Informationen zu Bildern finden Sie unter CImageList.

Beispiel

Sehen Sie sich das Beispiel für CTreeCtrl::GetItemImage.

CTreeCtrl::SetItemState

Legt den Status des durch hItem.

BOOL SetItemState(
    HTREEITEM hItem,
    UINT nState,
    UINT nStateMask);

Parameter

hItem
Handle des Elements, dessen Status festgelegt werden soll.

nState
Gibt neue Zustände für das Element an.

nStateMask
Gibt an, welche Zustände geändert werden sollen.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Hinweise

Informationen zu Zuständen finden Sie unter CTreeCtrl::GetItem.

Beispiel

Sehen Sie sich das Beispiel für CTreeCtrl::GetItemState.

CTreeCtrl::SetItemStateEx

Legt den erweiterten Zustand des angegebenen Elements im aktuellen Strukturansicht-Steuerelement fest.

BOOL SetItemStateEx(
    HTREEITEM hItem,
    UINT uStateEx);

Parameter

hItem
[in] Behandeln sie ein Strukturansicht-Steuerelementelement.

uStateEx
[in] Der erweiterte Zustand des Elements. Weitere Informationen finden Sie im uStateEx Element der TVITEMEX Struktur.

Rückgabewert

TRUEwenn diese Methode erfolgreich ist; andernfalls . FALSE

Hinweise

Diese Methode sendet die TVM_SETITEM Nachricht, die im Windows SDK beschrieben wird. Diese Methode weist dem Element einer TVITEMEX Struktur den uStateEx Parameter zu uStateEx und verwendet diese Struktur dann in der Nachricht.

Beispiel

Im ersten Codebeispiel wird eine Variable definiert, m_treeCtrldie für den Zugriff auf das aktuelle Strukturansichtssteuerelement verwendet wird. Im Codebeispiel wird außerdem eine ganze Zahl ohne Vorzeichen und mehrere HTREEITEM Variablen definiert. Diese Variablen werden im nächsten Beispiel verwendet.

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;

Im nächsten Codebeispiel wird ein Strukturansichtselement auf den deaktivierten Zustand festgelegt. In einem früheren Abschnitt des Codebeispiels, das nicht angezeigt wird, haben wir eine Strukturansicht erstellt, die aus einem Stammland-/Regionsknoten für die USA, Unterknoten für die Bundesstaaten Pennsylvania und Washington und Strukturelemente für Städte in diesen Staaten besteht. In diesem Codebeispiel wird der Pennsylvania-Knoten auf den Status "Deaktiviert" festgelegt.

// Disable the Pennsylvania node.
m_treeCtrl.SetItemStateEx(hPA, TVIS_EX_DISABLED);

CTreeCtrl::SetItemText

Legt den Text des durch hItem.

BOOL SetItemText(
    HTREEITEM hItem,
    LPCTSTR lpszItem);

Parameter

hItem
Handle des Elements, dessen Text festgelegt werden soll.

lpszItem
Adresse einer Zeichenfolge, die den neuen Text für das Element enthält

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Beispiel

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

Rufen Sie diese Memberfunktion auf, um die aktuelle Linienfarbe für das Strukturansichtssteuerelement festzulegen.

COLORREF SetLineColor(COLORREF clrNew = CLR_DEFAULT);

Parameter

clrNew
Die neue Linienfarbe.

Rückgabewert

Die vorherige Linienfarbe.

Hinweise

Diese Memberfunktion implementiert das Verhalten der Win32-Nachricht TVM_SETLINECOLOR, wie im Windows SDK beschrieben.

Beispiel

COLORREF clrPrev = m_TreeCtrl.SetLineColor(RGB(255, 0, 0));

CTreeCtrl::SetScrollTime

Rufen Sie diese Memberfunktion auf, um die maximale Bildlaufzeit für das Strukturansichtssteuerelement festzulegen.

UINT SetScrollTime(UINT uScrollTime);

Parameter

uScrollTime
Die neue maximale Bildlaufzeit in Millisekunden. Wenn dieser Wert kleiner als 100 ist, wird er auf 100 aufgerundet.

Rückgabewert

Die vorherige maximale Bildlaufzeit in Millisekunden.

Hinweise

Diese Memberfunktion implementiert das Verhalten der Win32-Nachricht TVM_SETSCROLLTIME, wie im Windows SDK beschrieben.

CTreeCtrl::SetTextColor

Diese Memberfunktion implementiert das Verhalten der Win32-Nachricht TVM_SETTEXTCOLOR, wie im Windows SDK beschrieben.

COLORREF SetTextColor(COLORREF clr);

Parameter

clr
Ein COLORREF Wert, der die neue Textfarbe enthält. Wenn dieses Argument -1 lautet, wird das Steuerelement rückgängig machen, um die Systemfarbe für die Textfarbe zu verwenden.

Rückgabewert

Ein COLORREF Wert, der die vorherige Textfarbe darstellt. Wenn dieser Wert -1 ist, verwendet das Steuerelement die Systemfarbe für die Textfarbe.

Beispiel

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

Diese Memberfunktion implementiert das Verhalten der Win32-Nachricht TVM_SETTOOLTIPS, wie im Windows SDK beschrieben.

CToolTipCtrl* SetToolTips(CToolTipCtrl* pWndTip);

Parameter

pWndTip
Ein Zeiger auf ein CToolTipCtrl Objekt, das vom Struktursteuerelement verwendet wird.

Rückgabewert

Ein Zeiger auf ein CToolTipCtrl Objekt, das die zuvor vom Steuerelement verwendete QuickInfo enthält, oder NULL wenn zuvor keine QuickInfos verwendet wurden.

Hinweise

Wenn Sie QuickInfos verwenden möchten, geben Sie beim Erstellen des CTreeCtrl Objekts die TVS_NOTOOLTIPS Formatvorlage an.

Beispiel

Sehen Sie sich das Beispiel für CTreeCtrl::GetToolTips.

CTreeCtrl::ShowInfoTip

Zeigt die Infoinfo für das angegebene Element im aktuellen Strukturansicht-Steuerelement an.

void ShowInfoTip(HTREEITEM hItem);

Parameter

hItem
[in] Ein Handle zu einem Strukturansichtselement im Steuerelement. Weitere Informationen finden Sie im hItem Element der TVITEMEX Struktur.

Hinweise

Weitere Informationen zum Unterschied zwischen QuickInfos und Infotips finden Sie unter QuickInfos und Infotips.

Diese Methode sendet die TVM_SHOWINFOTIP Nachricht, die im Windows SDK beschrieben wird.

CTreeCtrl::SortChildren

Rufen Sie diese Funktion auf, um die untergeordneten Elemente des angegebenen übergeordneten Elements in einem Strukturansichtssteuerelement alphabetisch zu sortieren.

BOOL SortChildren(HTREEITEM hItem);

Parameter

hItem
Handle des übergeordneten Elements, dessen untergeordnete Elemente sortiert werden sollen. Wenn hItem ja NULL, wird die Sortierung vom Stamm der Struktur fortgesetzt.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Hinweise

SortChildren wird nicht durch den Baum rekursiert; nur die unmittelbaren untergeordneten Elemente hItem werden sortiert.

Beispiel

// Sort all of the items in the tree control.
m_TreeCtrl.SortChildren(TVI_ROOT);

CTreeCtrl::SortChildrenCB

Rufen Sie diese Funktion auf, um Strukturansichtselemente mithilfe einer anwendungsdefinierten Rückruffunktion zu sortieren, die die Elemente vergleicht.

BOOL SortChildrenCB(LPTVSORTCB pSort);

Parameter

pSort
Zeiger auf eine TVSORTCB-Struktur.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Hinweise

Die Vergleichsfunktion der Struktur muss einen negativen Wert zurückgeben, lpfnComparewenn das erste Element dem zweiten vorangestellt werden soll, ein positiver Wert, wenn das erste Element auf die zweite oder null folgen soll, wenn die beiden Elemente gleichwertig sind.

Die lParam1 Parameter entsprechen lParam2 dem lParam Element der TVITEM Struktur für die beiden verglichenen Elemente. Der lParamSort Parameter entspricht dem lParam Element der TV_SORTCB Struktur.

Beispiel

// 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);

Siehe auch

MFC-Beispiel CMNCTRL1
CWnd Klasse
Hierarchiediagramm
CImageList Klasse