<?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[[TTreeView] Schriftfarbe des geklickten Items ändern!]]></title><description><![CDATA[<p>Für diejenigen, die sich dafür interessieren:</p>
<pre><code class="language-cpp">void __fastcall TForm1::TreeView1CustomDrawItem(TCustomTreeView *Sender,
      TTreeNode *Node, TCustomDrawState State, bool &amp;DefaultDraw)
{
  if(Node-&gt;Level == 0)
    TreeView1-&gt;Canvas-&gt;Font-&gt;Style = TFontStyles() &lt;&lt; fsBold;

  if (State.Contains(cdsSelected))
  {
    TreeView1-&gt;Canvas-&gt;Font-&gt;Color = clYellow;
    TreeView1-&gt;Canvas-&gt;Brush-&gt;Color = clGreen;
  }
}
</code></pre>
<p>Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/88703/ttreeview-schriftfarbe-des-geklickten-items-ändern</link><generator>RSS for Node</generator><lastBuildDate>Sun, 05 Jul 2026 11:21:43 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/88703.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 12 Oct 2004 16:40:47 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [TTreeView] Schriftfarbe des geklickten Items ändern! on Tue, 12 Oct 2004 16:40:47 GMT]]></title><description><![CDATA[<p>Für diejenigen, die sich dafür interessieren:</p>
<pre><code class="language-cpp">void __fastcall TForm1::TreeView1CustomDrawItem(TCustomTreeView *Sender,
      TTreeNode *Node, TCustomDrawState State, bool &amp;DefaultDraw)
{
  if(Node-&gt;Level == 0)
    TreeView1-&gt;Canvas-&gt;Font-&gt;Style = TFontStyles() &lt;&lt; fsBold;

  if (State.Contains(cdsSelected))
  {
    TreeView1-&gt;Canvas-&gt;Font-&gt;Color = clYellow;
    TreeView1-&gt;Canvas-&gt;Brush-&gt;Color = clGreen;
  }
}
</code></pre>
<p>Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/627034</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/627034</guid><dc:creator><![CDATA[xxs]]></dc:creator><pubDate>Tue, 12 Oct 2004 16:40:47 GMT</pubDate></item><item><title><![CDATA[Reply to [TTreeView] Schriftfarbe des geklickten Items ändern! on Wed, 13 Oct 2004 07:53:40 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Kann ich auch in eine EditBox einen Namen eingeben, diesen Knoten im TreeView suchen und diese Schriftfarbe dann ändern? Wenn ja, könntest du mir bitte einen Tipp geben?!</p>
<p>Danke, Thorben</p>
]]></description><link>https://www.c-plusplus.net/forum/post/627392</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/627392</guid><dc:creator><![CDATA[Thorben]]></dc:creator><pubDate>Wed, 13 Oct 2004 07:53:40 GMT</pubDate></item><item><title><![CDATA[Reply to [TTreeView] Schriftfarbe des geklickten Items ändern! on Wed, 13 Oct 2004 08:14:36 GMT]]></title><description><![CDATA[<p>Denk doch mal ein klein wenig nach.</p>
<p>Anhand welcher Eigenschaft wird in o.g. Code entschieden, ob umgefärbt wird? Genau, anhand des <em>State</em>.</p>
<p>Von welcher Node-Eigenschaft möchtest du das Umfärben abhängig machen? Von der C......, also müsste die entsprechende Abfrage wie aussehen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/627408</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/627408</guid><dc:creator><![CDATA[Jansen]]></dc:creator><pubDate>Wed, 13 Oct 2004 08:14:36 GMT</pubDate></item><item><title><![CDATA[Reply to [TTreeView] Schriftfarbe des geklickten Items ändern! on Wed, 13 Oct 2004 09:24:26 GMT]]></title><description><![CDATA[<p>Thorben schrieb:</p>
<blockquote>
<p>&lt;Edit: Zitate bitte auf das Notwendigste beschränken. Danke!&gt;</p>
</blockquote>
<p>ICh würde es folgendermassen machen (am einfachsten):<br />
- eine for-Schleife: gehe alle Knoten durch (Eigenschaft Count)<br />
- vergleiche den Text des aktuellen Knoten mit dem eingegebenen Text (Eigenschaft Text)<br />
- Wenn identisch, dann markiere den aktuellen Knoten (Eigenschaft Selected)<br />
- Suche abbrechen.</p>
<p>Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/627450</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/627450</guid><dc:creator><![CDATA[xxs]]></dc:creator><pubDate>Wed, 13 Oct 2004 09:24:26 GMT</pubDate></item><item><title><![CDATA[Reply to [TTreeView] Schriftfarbe des geklickten Items ändern! on Wed, 13 Oct 2004 09:28:25 GMT]]></title><description><![CDATA[<p>Das wäre nur dann sinnvoll, wenn der gesuchte Node auch tatsächlich selektiert werden soll. Für die Entscheidung über das Einfärben reicht allein die T...-Property des Nodes im OnCustomDraw (mit C...... lag ich dicht daneben ;)).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/627475</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/627475</guid><dc:creator><![CDATA[Jansen]]></dc:creator><pubDate>Wed, 13 Oct 2004 09:28:25 GMT</pubDate></item><item><title><![CDATA[Reply to [TTreeView] Schriftfarbe des geklickten Items ändern! on Wed, 13 Oct 2004 10:16:53 GMT]]></title><description><![CDATA[<p>Jansen schrieb:</p>
<blockquote>
<p>Das wäre nur dann sinnvoll, wenn der gesuchte Node auch tatsächlich selektiert werden soll.</p>
</blockquote>
<p>ICh hatte dabei an &quot;regedit&quot; gedacht.</p>
<p>Jansen schrieb:</p>
<blockquote>
<p>(mit C...... lag ich dicht daneben ;)).</p>
</blockquote>
<p>Sogar ein Mod kann mal daneben legen -&gt; beruhigend! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/627509</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/627509</guid><dc:creator><![CDATA[xxs]]></dc:creator><pubDate>Wed, 13 Oct 2004 10:16:53 GMT</pubDate></item><item><title><![CDATA[Reply to [TTreeView] Schriftfarbe des geklickten Items ändern! on Wed, 13 Oct 2004 11:44:53 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Also, das Einfärben soll immer dann geschehen, wenn sich meine EditBox ändert, gut, kann man ja durch OnChange machen. Wie xxs sagte, suche ich dann den Knoten ( über eine rekursive Funktion, da meine TreeView beliebig viele Childs haben kann und diese wiederrum beliebig viele Childs, usw) und gebe ihn zurück, oder mit Selected. Und dann? Müsste doch dann TreeView1CustomDrawItem aufrufen und den Node übergeben, als Sender würde ich NULL eingeben, richtig? Und dann cdsSelected, da ja nur der jeweilige Knoten farbig markiert werden soll.</p>
<p>Sehe ich das richtig?</p>
<p>T.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/627585</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/627585</guid><dc:creator><![CDATA[Thorben]]></dc:creator><pubDate>Wed, 13 Oct 2004 11:44:53 GMT</pubDate></item><item><title><![CDATA[Reply to [TTreeView] Schriftfarbe des geklickten Items ändern! on Wed, 13 Oct 2004 11:54:58 GMT]]></title><description><![CDATA[<p>Thorben schrieb:</p>
<blockquote>
<p>Müsste doch dann TreeView1CustomDrawItem aufrufen und den Node übergeben, als Sender würde ich NULL eingeben, richtig?</p>
</blockquote>
<p>Nein. TreeView1CustomDrawItem mußt Du nicht aufrufen. Sie wird automatisch ausgeführt.</p>
<p>Hast Du versucht, die o.g. Tips bzw. Schritte &quot;in Code umzuwandeln&quot;?</p>
<p>Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/627604</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/627604</guid><dc:creator><![CDATA[xxs]]></dc:creator><pubDate>Wed, 13 Oct 2004 11:54:58 GMT</pubDate></item><item><title><![CDATA[Reply to [TTreeView] Schriftfarbe des geklickten Items ändern! on Wed, 13 Oct 2004 11:55:09 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">A1
     A11
        A111    
  A2 
  A3
     A31
        A311 
     A32
</code></pre>
<p>Usw. Wenn jetzt in &quot;Edit1-&gt; Text = A11&quot; steht, soll dieser Knoten farbig gekennzeichnet werden!</p>
<p>Geht, das Abfragen nach den einzelnen Knoten nicht einfacher als durch die Rekursion?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/627605</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/627605</guid><dc:creator><![CDATA[Thorben]]></dc:creator><pubDate>Wed, 13 Oct 2004 11:55:09 GMT</pubDate></item><item><title><![CDATA[Reply to [TTreeView] Schriftfarbe des geklickten Items ändern! on Wed, 13 Oct 2004 12:04:56 GMT]]></title><description><![CDATA[<p>Wenn deine Suchfunktion den Knoten selektiert dann kannst du xxs' ursprünglichen Code quasi 1:1 übernehmen, mehr ist dann nicht zu tun.</p>
<p>PS. Nein, das Suchen musst du schon selbst erledigen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/627623</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/627623</guid><dc:creator><![CDATA[Jansen]]></dc:creator><pubDate>Wed, 13 Oct 2004 12:04:56 GMT</pubDate></item><item><title><![CDATA[Reply to [TTreeView] Schriftfarbe des geklickten Items ändern! on Wed, 13 Oct 2004 12:19:43 GMT]]></title><description><![CDATA[<p>Thorben schrieb:</p>
<blockquote>
<p>Geht, das Abfragen nach den einzelnen Knoten nicht einfacher als durch die Rekursion?</p>
</blockquote>
<p>Ja.<br />
Wie Jansen schon sagte, Du brauchst in diesem Fall nur den obigen Code folgendermassen zu ändern:<br />
Nimm für</p>
<pre><code class="language-cpp">if(State.Contains(cdsSelected))
</code></pre>
<p>einfach</p>
<pre><code class="language-cpp">if(Node-&gt;Text == Edit1-&gt;Text)
</code></pre>
<p>Und das war es auch schon.</p>
<p>Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/627646</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/627646</guid><dc:creator><![CDATA[xxs]]></dc:creator><pubDate>Wed, 13 Oct 2004 12:19:43 GMT</pubDate></item><item><title><![CDATA[Reply to [TTreeView] Schriftfarbe des geklickten Items ändern! on Wed, 13 Oct 2004 12:31:40 GMT]]></title><description><![CDATA[<p>Also vielen Dank erst mal!</p>
<p>Ich habe jetzt mal einfach probiert, habe meine Funktion beschrieben und getestet, hat leider noch nicht funktiioniert, aber dazu habe ich auch noch gar keine Frage, habe es jetzt so getestet wie xxs sagt. Jetzt bringt mein Compiler aber den folgenden fehler:</p>
<p>E2316 '_fastcall TForm1::TreeView1CustomDrawItem(TCustomTreeView *,TTreeNode *,TCustomDrawState,bool &amp;)' ist kein Element von 'TForm1'</p>
<p>Muss ich hierfür noch eine Extra Bibliothek einbinden, oder warum erkennt er das nicht? <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="😕"
    /></p>
<p>Fragen über Fragen, tut mir Leid, aber ich will ja Lernen!!!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/627670</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/627670</guid><dc:creator><![CDATA[Thorben]]></dc:creator><pubDate>Wed, 13 Oct 2004 12:31:40 GMT</pubDate></item><item><title><![CDATA[Reply to [TTreeView] Schriftfarbe des geklickten Items ändern! on Wed, 13 Oct 2004 12:42:48 GMT]]></title><description><![CDATA[<p>Zum Suchen ist OnCustomDraw ungeeignet, da es nur für die Items aufgerufen wird, die sichtbar sind. Wie gesagt, du kommst um eine eigene Routine nicht herum.</p>
<p>Zur Fehlermeldung: ich vermute, du hast die OnCustomDraw-Funktion manuell in die CPP kopiert, anstatt sie vom BCB automatisch erstellen zu lassen, deshalb fehlt die zugehörige Deklaration im Header. Oder du hast an dem vom BCB automatisch erzeugten Code herumgepfuscht (;)), in der cpp oder in der h oder in beiden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/627692</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/627692</guid><dc:creator><![CDATA[Jansen]]></dc:creator><pubDate>Wed, 13 Oct 2004 12:42:48 GMT</pubDate></item><item><title><![CDATA[Reply to [TTreeView] Schriftfarbe des geklickten Items ändern! on Wed, 13 Oct 2004 12:48:21 GMT]]></title><description><![CDATA[<p>Okay, so weit, so gut, du hast recht, habe ich dummerweise rauskopiert.... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>Und in Tree-&gt;... muss ich dann den jeweiligen gefunden Knoten übergeben? Oder woher weiss er sonst, welcher Node gemeint ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/627702</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/627702</guid><dc:creator><![CDATA[Thorben]]></dc:creator><pubDate>Wed, 13 Oct 2004 12:48:21 GMT</pubDate></item><item><title><![CDATA[Reply to [TTreeView] Schriftfarbe des geklickten Items ändern! on Wed, 13 Oct 2004 13:04:05 GMT]]></title><description><![CDATA[<p>Wenn du den Knoten gefunden hast selektiere ihn mittels TTreeView::Selected, den Rest macht dann xxs' ursprünglicher Code ganz automatisch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/627722</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/627722</guid><dc:creator><![CDATA[Jansen]]></dc:creator><pubDate>Wed, 13 Oct 2004 13:04:05 GMT</pubDate></item><item><title><![CDATA[Reply to [TTreeView] Schriftfarbe des geklickten Items ändern! on Wed, 13 Oct 2004 13:42:19 GMT]]></title><description><![CDATA[<p>Jansen schrieb:</p>
<blockquote>
<p>Zum Suchen ist OnCustomDraw ungeeignet, da es nur für die Items aufgerufen wird, die sichtbar sind. Wie gesagt, du kommst um eine eigene Routine nicht herum.</p>
</blockquote>
<p>Und weil das Suchen eigentlich ein anderes Thema ist, habe ich mir erlaubt, <a href="http://www.c-plusplus.net/forum/viewtopic.php?t=88815" rel="nofollow">einen neuen Thread zu eröffnen</a>.</p>
<p>Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/627772</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/627772</guid><dc:creator><![CDATA[xxs]]></dc:creator><pubDate>Wed, 13 Oct 2004 13:42:19 GMT</pubDate></item><item><title><![CDATA[Reply to [TTreeView] Schriftfarbe des geklickten Items ändern! on Wed, 13 Oct 2004 14:22:36 GMT]]></title><description><![CDATA[<p>Klappt jetzt alles wunderbar!</p>
<p>Wieviel Aufwand ist es jetzt wohl noch, wenn ich will, dass man die Items im TreeView nicht mehr per Mausklick anwählen kann???</p>
<p>Dachte da spontan, an OnClick, bzw OnDblClick und dort dann irgendwie reinschreibt, dass wenn was angeklickt wird, es zurück auf das vorherige soll!</p>
<p>Bin ich da auf dem richtigen Weg?</p>
<p>T.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/627832</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/627832</guid><dc:creator><![CDATA[Thorben]]></dc:creator><pubDate>Wed, 13 Oct 2004 14:22:36 GMT</pubDate></item></channel></rss>