<?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[CTreeCtrl Nummer des selektierten Eintrages]]></title><description><![CDATA[<p>Hallo,<br />
ich habe ein CTreeCtrl erstellt. Mir ist klar, wie ich den Namen des Eintrages, der selektiert ist, herausfinden kann. Das hilft mir aber nicht unbedingt weiter, da in dem tree verschiedene Objekte aufgelistet werden, die aber u.U. den gleichen Namen tragen können.</p>
<p>ich habe mir also überlegt, in jedem objekt eine variable zu speichern, die die nummer des Objektes im tree enthält. (die nummer wird natürlich bei veränderungen korrigiert.)</p>
<p>wenn ich nun also ein objekt selektiere. wie finde ich denn heraus, der wievielte eintrag das ist ?</p>
<p>ich steh hier mal wieder total auf dem schlauch (owohl es bestimmt total einfach ist).</p>
<p>habt ihr einen tip für mich ?</p>
<p>gruß<br />
aus berlin</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/64067/ctreectrl-nummer-des-selektierten-eintrages</link><generator>RSS for Node</generator><lastBuildDate>Thu, 04 Jun 2026 17:59:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/64067.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 07 Feb 2004 14:21:26 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to CTreeCtrl Nummer des selektierten Eintrages on Sat, 07 Feb 2004 14:22:16 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich habe ein CTreeCtrl erstellt. Mir ist klar, wie ich den Namen des Eintrages, der selektiert ist, herausfinden kann. Das hilft mir aber nicht unbedingt weiter, da in dem tree verschiedene Objekte aufgelistet werden, die aber u.U. den gleichen Namen tragen können.</p>
<p>ich habe mir also überlegt, in jedem objekt eine variable zu speichern, die die nummer des Objektes im tree enthält. (die nummer wird natürlich bei veränderungen korrigiert.)</p>
<p>wenn ich nun also ein objekt selektiere. wie finde ich denn heraus, der wievielte eintrag das ist ?</p>
<p>ich steh hier mal wieder total auf dem schlauch (owohl es bestimmt total einfach ist).</p>
<p>habt ihr einen tip für mich ?</p>
<p>gruß<br />
aus berlin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/453941</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/453941</guid><dc:creator><![CDATA[RML]]></dc:creator><pubDate>Sat, 07 Feb 2004 14:22:16 GMT</pubDate></item><item><title><![CDATA[Reply to CTreeCtrl Nummer des selektierten Eintrages on Sat, 07 Feb 2004 15:12:45 GMT]]></title><description><![CDATA[<p>Mittels SetItemData / GetItemData läßt sich jedem tree-Item eine DWORD zuordnen. dort kann man z.B. einen ID oder (wenn man aufpaßt) einen Zeiger speichern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/453973</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/453973</guid><dc:creator><![CDATA[peterchen]]></dc:creator><pubDate>Sat, 07 Feb 2004 15:12:45 GMT</pubDate></item><item><title><![CDATA[Reply to CTreeCtrl Nummer des selektierten Eintrages on Sat, 07 Feb 2004 15:38:27 GMT]]></title><description><![CDATA[<p>hi,<br />
das ist zwar genau der umgekehrte, weg, aber auch eine idee.<br />
ich werd mir das mal anschauen.<br />
danke erstmal <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/453981</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/453981</guid><dc:creator><![CDATA[RML]]></dc:creator><pubDate>Sat, 07 Feb 2004 15:38:27 GMT</pubDate></item><item><title><![CDATA[Reply to CTreeCtrl Nummer des selektierten Eintrages on Sat, 07 Feb 2004 15:39:08 GMT]]></title><description><![CDATA[<p>wenn du nur eine indizierung des baumes benötigst wirst du mit einer angepassten such-/auflistungsfunktion besser weiterkommen, als mit hilfe von zusatzinformationen innerhalb der items. dies gilt insbesondere für den fall, dass ein oder mehrere items childitems besitzen.</p>
<p>mit integerwerten wird die indizierung im letzten fall nicht sauber lösbar sein.</p>
<p>hier ein tipp:</p>
<p>msdn schrieb:</p>
<blockquote>
<p>GetRootItem</p>
</blockquote>
<p>msdn schrieb:</p>
<blockquote>
<p>GetNextItem</p>
</blockquote>
<p>damit kannst du eine schleife basteln die den ganzen baum durchläuft.</p>
<p>ausserdem kannst du mit dieser variante auch childtrees indizieren.<br />
dafür brauchst du:</p>
<p>msdn schrieb:</p>
<blockquote>
<p>ItemHasChildren</p>
</blockquote>
<p>hoffe du kannst damit etwas anfangen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/453982</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/453982</guid><dc:creator><![CDATA[alex-t]]></dc:creator><pubDate>Sat, 07 Feb 2004 15:39:08 GMT</pubDate></item><item><title><![CDATA[Reply to CTreeCtrl Nummer des selektierten Eintrages on Sat, 07 Feb 2004 16:28:39 GMT]]></title><description><![CDATA[<p>eine Schleife die jedes Mal den ganzen Tree durchläuft ist totaler Blödsinn. In diesem Fall würde ich eine Map nehmen, HTREEITEM als Schlüssel und eine eine selbstdefinierte Struktur als Argument. GetItemData und SetItemData ist eine altmodische Variante.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/454006</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/454006</guid><dc:creator><![CDATA[Shlo]]></dc:creator><pubDate>Sat, 07 Feb 2004 16:28:39 GMT</pubDate></item><item><title><![CDATA[Reply to CTreeCtrl Nummer des selektierten Eintrages on Sat, 07 Feb 2004 18:05:55 GMT]]></title><description><![CDATA[<blockquote>
<p>GetItemData und SetItemData ist eine altmodische Variante</p>
</blockquote>
<p>Hä?</p>
<p>Eine generische Lösung wäre eine bidirektionale map, da man das Mapping oft in beide Richtungen braucht (nach meiner Erfahrung ist aber Tree --&gt; Data ungleich häufiger)</p>
<p>Designziele sollten sein:<br />
a) Die Daten des Nutzerinterfaces (HTREEITEM) aus den &quot;eigentlichen&quot; Daten rauszuhalten.<br />
b) Wenn die Daten sich häufig bzw. hinter dem &quot;Rücken&quot; des Trees ändern, sollte man die Synchronisation (Daten &lt;--&gt; Darstellung) möglichst zentral halten und vor allem von den Datenänderungen entkoppeln (d.h. Daß man nicth bei jeder Datenänderung daran denken muß, den tree zu informieren, jetzt mal Bitte den Item 17 zu löschen usw.) Das ist beim TreeCtrl leider nicht so einfach.</p>
<p>Ob es &quot;totaler Blödsinn&quot; ist, linear in dem treeCtrl zu suchen, hängt von verschiedenen Faktoren ab. Immerhin bieten ItemData + Suche das benötigte bidirektionale Mapping, ohne das man zusätzliche Datenstrukturen einführen muß. Auch ein Vorteil.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/454067</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/454067</guid><dc:creator><![CDATA[peterchen]]></dc:creator><pubDate>Sat, 07 Feb 2004 18:05:55 GMT</pubDate></item><item><title><![CDATA[Reply to CTreeCtrl Nummer des selektierten Eintrages on Sat, 07 Feb 2004 18:32:20 GMT]]></title><description><![CDATA[<p>RML schrieb:</p>
<blockquote>
<p>...</p>
<p>wenn ich nun also ein objekt selektiere. wie finde ich denn heraus, der wievielte eintrag das ist ?</p>
<p>...</p>
</blockquote>
<p>also hört mal, wie kommts eigentlich, dass man nach einigen antworten nicht mehr auf die frage eine antwort sucht, sondern einfach den anderen aussticht?</p>
<p>ich habe meinen lösungsvorschlag darauf bezogen, dass man diese information vielleicht nicht sehr oft benötigt und dass der baum zwar aus beliebig vielen teilbäumen besteht, aber trotzdem nicht zu gross ist.</p>
<p>diesen fall hatte ich zumindest in meinem tree, der allerdings als eine art menü in meiner anwendung dient. und es funktioniert wunderbar.</p>
<p>heirzu muss ich dich fragen, wie du teilbäume handhaben willst?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/454082</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/454082</guid><dc:creator><![CDATA[alex-t]]></dc:creator><pubDate>Sat, 07 Feb 2004 18:32:20 GMT</pubDate></item><item><title><![CDATA[Reply to CTreeCtrl Nummer des selektierten Eintrages on Sun, 08 Feb 2004 12:14:34 GMT]]></title><description><![CDATA[<p>so, ich hab mal etwas rumgetestet.</p>
<p>die variante mit &quot;get- und setitemdata&quot; scheint zu klappen.</p>
<p>diese variante nimmt mir sogar einigen verwaltungsaufwand bei den datensätzen ab, da ich sonst zusätzlich zu meiner datensatz id auch noch die ständig wechselnde nummer im tree als zusätzliche variable in jedem datensatz verwalten müsste. allerdings hab ich das bisher nur bei solchen einträgen probiert, die keine childs sind. aber ich glaube, das macht keinen unterschied. ihr habe mir jedenfalls sehr geholfen (ob klein oder grosser tree, weiss ich nicht, da es ja vom benutzer abhängt, ob er 10000 oder nur 1 datensatz braucht...)</p>
<p>danke! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/454340</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/454340</guid><dc:creator><![CDATA[RML]]></dc:creator><pubDate>Sun, 08 Feb 2004 12:14:34 GMT</pubDate></item></channel></rss>