Zum Hauptinhalt springen

WinTreeNodeSearch

Mit diesem Befehl wird in einem TreeView-Objekt oder einem TreeNode-Objekt (obj) nach einem bestimmten TreeNode gesucht.

info

Ist ein Referenzknoten (handle3) angegeben und wird das Ende der Unterelemente des übergebenen TreeView bzw. TreeNode-Objektes (obj) erreicht, beginnt die Suche von vorne, bis zum wieder erreichen des Referenzknotens.

Wird als Startobjekt (obj) ein TreeNode-Objekt übergeben, wird standardmäßig auch in höheren Baumebenen weiter gesucht.

Folgende Optionen (int2) können angegeben werden:

Mehrere Optionen können miteinander kombiniert werden. Die Kombination erfolgt durch eine binäre ODER-Verknüpfung.

info

Die Optionen _WinTreeNodeSearchLike, _WinTreeNodeSearchLikeAuto, _WinTreeNodeSearchToken und _WinTreeNodeSearchRegEx können nicht miteinander kombiniert werden.

Ist weder _WinTreeNodeSearchCaption noch _WinTreeNodeSearchCustom gesetzt wird trotzdem das Ereignis EvtNodeSearch aufgerufen.

Wird die Option (int2) _WinTreeNodeSearchChildrenOnly angegeben, kann in (handle4) ein Referenzknoten angegeben werden. Dabei wird nur unterhalb des Knotens (obj) vom Referenzknoten (handle4) ausgehend gesucht. Ist bei der Option kein Referenzknoten (handle4) angegeben, wird ab dem ersten untergeordneten Knoten gesucht.

Resultat

Wird ein TreeNode gefunden, ist das Resultat der Deskriptor des TreeNode-Objektes. Wurde kein TreeNode gefunden, ist das Resultat 0. Zusätzlich sind die folgenden Fehlerwerte möglich:

Die Suche wird so lange durchgeführt, bis ein TreeNode gefunden, die Suche im Ereignis EvtNodeSearch mit dem Rückgabewert false abgebrochen oder das Startobjekt (obj) bzw. der Referenzknoten (handle4) bei _WinTreeNodeSearchChildrenOnly wieder erreicht wurde.

Beispiel:

// Findet alle untergeordneten TreeNodes, die mit '.doc' enden und ändert die Schriftart
for
{
tFirst # true;
tNodeFound # tNodeCurrent->WinTreeNodeSearch('*.doc', _WinTreeNodeSearchCaption | _WinTreeNodeSearchCI | _WinTreeNodeSearchLike | _WinTreeNodeSearchChildrenOnly | _WinTreeNodeSearchNoSelect);
tNodeRef # tNodeFound;
}
loop tNodeFound # tNodeCurrent->WinTreeNodeSearch('*.doc', _WinTreeNodeSearchCaption | _WinTreeNodeSearchCI | _WinTreeNodeSearchLike | _WinTreeNodeSearchChildrenOnly | _WinTreeNodeSearchNoSelect, tNodeFound);
while (tNodeFound > 0 and (tNodeFound != tNodeRef or tFirst))
{
tFirst # false;
tNodeFound->wpIndexData(_WinFlagIndexFont) # sIndexHighlight;
}

Mögliche Laufzeitfehler: