<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Mehrere Items in CTreeCtrl löschen]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>wie kann ich in einem CTreeCtrl die ChildItems eines Items ganz löschen.<br />
so klappt das nicht, da dann das erste Chilitem beim nächsten durchlauf weg ist.</p>
<pre><code class="language-cpp">CString m_strName;
	HTREEITEM hCurrent = GetTreeCtrl().GetNextItem(TVI_ROOT, LVNI_ALL);  //zum anfang 

	while (hCurrent != NULL) //solange nicht ende erreicht 
	{
		m_strName = GetTreeCtrl().GetItemText(hCurrent);
		if(m_strName == &quot;Server&quot;)
		{
			if (GetTreeCtrl().ItemHasChildren(hCurrent)) 
			{ 
				HTREEITEM hItem = GetTreeCtrl().GetChildItem(hCurrent);

				while (hItem != NULL) 
				{ 					
					GetTreeCtrl().DeleteItem(hItem);
					hItem = GetTreeCtrl().GetNextSiblingItem(hItem); 
				} 

			} 
		}
		m_strName = &quot;&quot;;

		hCurrent = GetTreeCtrl().GetNextItem(hCurrent, TVGN_NEXT); //versuche nächstes 
	}
</code></pre>
<p>Kann mir jemand helfen ??</p>
<p>Gruß<br />
andy_mann</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/81173/mehrere-items-in-ctreectrl-löschen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 17 Apr 2026 12:39:50 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/81173.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 28 Jul 2004 17:25:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Mehrere Items in CTreeCtrl löschen on Wed, 28 Jul 2004 17:25:59 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>wie kann ich in einem CTreeCtrl die ChildItems eines Items ganz löschen.<br />
so klappt das nicht, da dann das erste Chilitem beim nächsten durchlauf weg ist.</p>
<pre><code class="language-cpp">CString m_strName;
	HTREEITEM hCurrent = GetTreeCtrl().GetNextItem(TVI_ROOT, LVNI_ALL);  //zum anfang 

	while (hCurrent != NULL) //solange nicht ende erreicht 
	{
		m_strName = GetTreeCtrl().GetItemText(hCurrent);
		if(m_strName == &quot;Server&quot;)
		{
			if (GetTreeCtrl().ItemHasChildren(hCurrent)) 
			{ 
				HTREEITEM hItem = GetTreeCtrl().GetChildItem(hCurrent);

				while (hItem != NULL) 
				{ 					
					GetTreeCtrl().DeleteItem(hItem);
					hItem = GetTreeCtrl().GetNextSiblingItem(hItem); 
				} 

			} 
		}
		m_strName = &quot;&quot;;

		hCurrent = GetTreeCtrl().GetNextItem(hCurrent, TVGN_NEXT); //versuche nächstes 
	}
</code></pre>
<p>Kann mir jemand helfen ??</p>
<p>Gruß<br />
andy_mann</p>
]]></description><link>https://www.c-plusplus.net/forum/post/570490</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/570490</guid><dc:creator><![CDATA[andy_mann]]></dc:creator><pubDate>Wed, 28 Jul 2004 17:25:59 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrere Items in CTreeCtrl löschen on Wed, 28 Jul 2004 18:08:27 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>So wie ich das sehe ist es ein recursives Problem.</p>
<p>Mach doch eine Funktion, die z.B. so aussieht:</p>
<pre><code class="language-cpp">boolean DeleteChild (HTREEITEM hCurrent)
{
    boolean rValue = true;
    if (hCurrent) //Also verfügbar
    {
        if (GetTreeCtrl().ItemHasChildren(hCurrent)) 
        { 
            HTREEITEM hItem;
            while (hItem = GetTreeCtrl().GetChildItem(hCurrent))
            {
                rValue = DeleteChild(hItem);
            }
        }
        GetTreeCtrl().DeleteItem(hCurrent);
    }
    return rValue;    //Kannst ja irgendwelche fahler abfangen, und dann auf false setzen.
}
</code></pre>
<p>Kann sein, dass noch ein paar Fehler drinn sind, aber so in etwa sollte es gehen. (Falls ich das problem richtig erkannt habe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/570503</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/570503</guid><dc:creator><![CDATA[PanicMan]]></dc:creator><pubDate>Wed, 28 Jul 2004 18:08:27 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrere Items in CTreeCtrl löschen on Thu, 29 Jul 2004 07:05:17 GMT]]></title><description><![CDATA[<p>Vielen Dank,</p>
<p>leider funktioniert es nur zum teil.</p>
<p>Er löscht jetzt nur immer einen.<br />
Ich brauche aber dass bei dem Item &quot;Server&quot; der Childitems hat diese alle gelöscht werden.</p>
<p>Alle anderen Items sollen nicht berücksichtigt werden.</p>
<p>- Test<br />
- Server<br />
|_ Server 1<br />
|_ Server 2<br />
|_ usw.<br />
- Test 2</p>
<p>Gruß<br />
andy_mann</p>
]]></description><link>https://www.c-plusplus.net/forum/post/570676</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/570676</guid><dc:creator><![CDATA[andy_mann]]></dc:creator><pubDate>Thu, 29 Jul 2004 07:05:17 GMT</pubDate></item></channel></rss>