<?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[Wie bei TreeNode ein OnClick Ergeigniss]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich erzeuge TreeNodes</p>
<pre><code class="language-cpp">TTreeNode* myNote;
myNote = TreeView1-&gt;Items[0].Item[0];

TreeView1-&gt;Items-&gt;Clear();
TreeView1-&gt;Items-&gt;Add(myNote,&quot;Stammknoten&quot;);

myNote = TreeView1-&gt;Items-&gt;Item[0];
TreeView1-&gt;Items-&gt;AddChild(myNote,&quot;Unterknoten in StammKnoten&quot;);

TreeView1-&gt;Items-&gt;Add(myNote,&quot;Stammknoten2&quot;);
myNote = TreeView1-&gt;Items-&gt;Item[2];

TreeView1-&gt;Items-&gt;AddChild(myNote,&quot;Unterknoten von S2&quot;);

myNote = TreeView1-&gt;Items-&gt;Item[3];
TreeView1-&gt;Items-&gt;AddChild(myNote,&quot;Unterknotena&quot;);
</code></pre>
<p>nun hätte ich es aber gern, das auch etwas passiert wenn man auf ein bestimmtes klickt, wie kann ich das erstellen?</p>
<p>es gibt ja kein OnClick oder ähnliches!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/165071/wie-bei-treenode-ein-onclick-ergeigniss</link><generator>RSS for Node</generator><lastBuildDate>Wed, 12 Aug 2026 14:16:52 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/165071.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 15 Nov 2006 10:39:34 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wie bei TreeNode ein OnClick Ergeigniss on Wed, 15 Nov 2006 10:39:34 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich erzeuge TreeNodes</p>
<pre><code class="language-cpp">TTreeNode* myNote;
myNote = TreeView1-&gt;Items[0].Item[0];

TreeView1-&gt;Items-&gt;Clear();
TreeView1-&gt;Items-&gt;Add(myNote,&quot;Stammknoten&quot;);

myNote = TreeView1-&gt;Items-&gt;Item[0];
TreeView1-&gt;Items-&gt;AddChild(myNote,&quot;Unterknoten in StammKnoten&quot;);

TreeView1-&gt;Items-&gt;Add(myNote,&quot;Stammknoten2&quot;);
myNote = TreeView1-&gt;Items-&gt;Item[2];

TreeView1-&gt;Items-&gt;AddChild(myNote,&quot;Unterknoten von S2&quot;);

myNote = TreeView1-&gt;Items-&gt;Item[3];
TreeView1-&gt;Items-&gt;AddChild(myNote,&quot;Unterknotena&quot;);
</code></pre>
<p>nun hätte ich es aber gern, das auch etwas passiert wenn man auf ein bestimmtes klickt, wie kann ich das erstellen?</p>
<p>es gibt ja kein OnClick oder ähnliches!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175045</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175045</guid><dc:creator><![CDATA[cxv]]></dc:creator><pubDate>Wed, 15 Nov 2006 10:39:34 GMT</pubDate></item><item><title><![CDATA[Reply to Wie bei TreeNode ein OnClick Ergeigniss on Wed, 15 Nov 2006 10:42:06 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>OnClick ist dafür ungünstig. Nimm <em>TView::OnChange</em>, dieser Event gibt dir gleich den neuen ausgewählten Node mit.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175049</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175049</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Wed, 15 Nov 2006 10:42:06 GMT</pubDate></item><item><title><![CDATA[Reply to Wie bei TreeNode ein OnClick Ergeigniss on Wed, 15 Nov 2006 10:44:25 GMT]]></title><description><![CDATA[<p>akari schrieb:</p>
<blockquote>
<p>Nimm <em>TView::OnChange</em>, dieser Event gibt dir gleich den neuen ausgewählten Node mit.</p>
</blockquote>
<p>hmm...das versteh ich nicht ganz, so:</p>
<pre><code class="language-cpp">myNode-&gt;OnChange;

//oder
TreeView1-&gt;OnChange;

//???
</code></pre>
<p>finde nirgends dieses ereignis <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175052</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175052</guid><dc:creator><![CDATA[cxv]]></dc:creator><pubDate>Wed, 15 Nov 2006 10:44:25 GMT</pubDate></item><item><title><![CDATA[Reply to Wie bei TreeNode ein OnClick Ergeigniss on Wed, 15 Nov 2006 11:08:45 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>BCB_Hilfe schrieb:</p>
<blockquote>
<p>TCustomTreeView::OnChange</p>
<p>Das Ereignis OnChange wird beim Auswählen eines anderen Knotens ausgelöst.</p>
<p>typedef void __fastcall (__closure *TTVChangedEvent)(System::TObject* Sender, TTreeNode* Node);<br />
__property TTVChangedEvent OnChange = {read=FOnChange, write=FOnChange};</p>
<p>Beschreibung</p>
<p>In einer Ereignisbehandlungsroutine für OnChange können Sie bestimmte Aktionen durchführen, sobald sich die Knotenauswahl ändert. Der Parameter Sender gibt das zugehörige Baumdiagramm und Node den neu ausgewählten Knoten an.</p>
</blockquote>
<p>Bei Node wirst du den Event auch nicht finden.<br />
Und du must auch bei TTreeView das anders einsetzen. Wähl zur Entwurfszeit dein TreeView aus, und erstell mit dem Objektinspektor eine passende Event-Methode für den OnChange-Event des TreeView.<br />
Innerhalb der neuen Mehtode kannst du nun mit dem übergebenen neu ausgewählten Node machen was du willst.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175084</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175084</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Wed, 15 Nov 2006 11:08:45 GMT</pubDate></item><item><title><![CDATA[Reply to Wie bei TreeNode ein OnClick Ergeigniss on Wed, 15 Nov 2006 11:59:08 GMT]]></title><description><![CDATA[<p>ok, das habe ich verstanden, aber eine frage bleibt noch:</p>
<p>gibt es eine möglichkeit, ein node eindeutig zu identifizieren?<br />
Bei MenuItems oder ähnlichen gibt es ja Tag, bei TreeNode nicht!</p>
<p>Möchte eben in dem OnChange eine Möglichkeit haben, zu überprüfen welches node ausgewählt wurde!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175117</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175117</guid><dc:creator><![CDATA[cxv]]></dc:creator><pubDate>Wed, 15 Nov 2006 11:59:08 GMT</pubDate></item><item><title><![CDATA[Reply to Wie bei TreeNode ein OnClick Ergeigniss on Wed, 15 Nov 2006 12:06:47 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Bei TTreeNode gibt es die Eigenschaft Data, die genau so verwendet werden kann.<br />
Der einzige Unterschied ist, das du integrale Typen in void* casten must.</p>
<pre><code class="language-cpp">int Index = 10;
Node-&gt;Data = reinterpret_cast&lt;void*&gt;(Index);
Index = reinterpret_cast&lt;int&gt;(Node-&gt;Data);
</code></pre>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175121</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175121</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Wed, 15 Nov 2006 12:06:47 GMT</pubDate></item><item><title><![CDATA[Reply to Wie bei TreeNode ein OnClick Ergeigniss on Wed, 15 Nov 2006 12:37:28 GMT]]></title><description><![CDATA[<p>ok, hab das mal so probiert!</p>
<pre><code class="language-cpp">TTreeNode* myNote;
TreeView1-&gt;Items-&gt;Clear();
TreeView1-&gt;Items-&gt;Add(NULL,&quot;Stamm&quot;);

myNote = TreeView1-&gt;Items-&gt;Item[0];
myNote-&gt;Data = reinterpret_cast&lt;void*&gt;(1);
TreeView1-&gt;Items-&gt;Add(myNote,&quot;Stammknoten&quot;);

myNote = TreeView1-&gt;Items-&gt;Item[1];
TreeView1-&gt;Items-&gt;AddChild(myNote,&quot;Unterknoten in StammKnoten&quot;);
myNote-&gt;Data = reinterpret_cast&lt;void*&gt;(2);

TreeView1-&gt;Items-&gt;Add(myNote,&quot;Stammknoten2&quot;);
myNote-&gt;Data = reinterpret_cast&lt;void*&gt;(3);

myNote = TreeView1-&gt;Items-&gt;Item[3];
TreeView1-&gt;Items-&gt;AddChild(myNote,&quot;Unterknoten von S2&quot;);
myNote-&gt;Data = reinterpret_cast&lt;void*&gt;(4);

myNote = TreeView1-&gt;Items-&gt;Item[3];
TreeView1-&gt;Items-&gt;AddChild(myNote,&quot;Unterknotena&quot;);
myNote-&gt;Data = reinterpret_cast&lt;void*&gt;(5);

//-----------------------------------------------
void __fastcall TForm1::TreeView1Change(TObject *Sender, TTreeNode *Node)
{
int index = reinterpret_cast&lt;int&gt;(Node-&gt;Data);
ShowMessage(index);

}
</code></pre>
<p>allerdings stimmen die zahlen die raus kommen nicht!<br />
ist durcheinander, bei stamm kommt 1<br />
bei alles unterknoten kommt 0, wieso?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175144</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175144</guid><dc:creator><![CDATA[cxv]]></dc:creator><pubDate>Wed, 15 Nov 2006 12:37:28 GMT</pubDate></item><item><title><![CDATA[Reply to Wie bei TreeNode ein OnClick Ergeigniss on Wed, 15 Nov 2006 12:42:55 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Du hast nicht verstanden, das die Funktion AddChild einen Rückgabewert hat. Und zwar nämlich genau den neu erzeugten Node. Also muß das so aussehen</p>
<pre><code class="language-cpp">TTreeNode parentNode;
TTreeNode newNode;
parentNote = TreeView1-&gt;Items-&gt;Item[1];
newNote = TreeView1-&gt;Items-&gt;AddChild(parentNote,&quot;Unterknoten in StammKnoten&quot;);
newNote-&gt;Data = reinterpret_cast&lt;void*&gt;(2);
</code></pre>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175154</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175154</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Wed, 15 Nov 2006 12:42:55 GMT</pubDate></item><item><title><![CDATA[Reply to Wie bei TreeNode ein OnClick Ergeigniss on Wed, 15 Nov 2006 14:29:28 GMT]]></title><description><![CDATA[<p>hmm...irgendwie verwirrt mich das schon sehr!</p>
<pre><code class="language-cpp">void __fastcall TMainForm::FileNew1Execute(TObject *Sender)
{
	CreateMDIChild(&quot;NONAME&quot; + IntToStr(MDIChildCount + 1));
        TTreeNode* myNode;
        TTreeNode* childNode;

        myNode = TreeView1-&gt;Items-&gt;Item[0];

        childNode = TreeView1-&gt;Items-&gt;AddChild(myNode,&quot;CHILD&quot; + IntToStr(MDIChildCount));
        childNode-&gt;Data = reinterpret_cast&lt;void*&gt;(MDIChildCount);
        //ShowMessage(reinterpret_cast&lt;int&gt;(myNode-&gt;Data));
}
</code></pre>
<p>da möchte ich eben für jedes neue ChildFenster einen Eintrag machen, und Data mit der NUmmer füttern, um dann, beim Klick auf den Eintrag im View das Fenster zu öffnen</p>
<pre><code class="language-cpp">void __fastcall TMainForm::TreeView1Change(TObject *Sender,
      TTreeNode *Node)
{
int index = reinterpret_cast&lt;int&gt;(Node-&gt;Data);
ShowMessage(index);

MDIChildren[index]-&gt;Show();

}
</code></pre>
<p>allerdings geht das nicht!<br />
es werden beim klick immer willkürlich fenster geöffnet, beium klick auf das letzte eine Exception, wenn ich index um 1 verringere, kommt keine excpetion, aber er öffnet dann nicht alle fenster wenn ich klicke!</p>
<p>was mache ich denn falsch??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175249</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175249</guid><dc:creator><![CDATA[cxv]]></dc:creator><pubDate>Wed, 15 Nov 2006 14:29:28 GMT</pubDate></item><item><title><![CDATA[Reply to Wie bei TreeNode ein OnClick Ergeigniss on Thu, 16 Nov 2006 07:28:54 GMT]]></title><description><![CDATA[<p>hm...keine eine idee??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175649</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175649</guid><dc:creator><![CDATA[cxv]]></dc:creator><pubDate>Thu, 16 Nov 2006 07:28:54 GMT</pubDate></item><item><title><![CDATA[Reply to Wie bei TreeNode ein OnClick Ergeigniss on Thu, 16 Nov 2006 08:01:33 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>ich seh in den geposteten Code keinen Fehler, das Prinzip ist korrekt. Benutzt den Debugger, um den Verlauf des Programmes zu verfolgen und entscheidende Variablen zu überprüfen.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175667</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175667</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Thu, 16 Nov 2006 08:01:33 GMT</pubDate></item></channel></rss>