<?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[ListView Frage]]></title><description><![CDATA[<p>Hallo.</p>
<p>Ich zeichne in der OnCustomDraw Methode von meinem ListView etwas.<br />
Wenn ich das Programm starte gebe ich dem ListView gleich einen Eintrag den er vormakrieren soll.</p>
<pre><code class="language-cpp">ListView-&gt;Selected = ListView-&gt;Items-&gt;Item[row];
</code></pre>
<p>Er sagt mir auch in OnSelectItem das der Eintrag markiert wurde, aber das ListView wird grafisch von OnCustomDraw nicht verändert, nur wenn ich per Maus in das ListView reinklickere, zeichnet er den ausgewählten Eintrag endlich andersfarbig.</p>
<p>Also Programmstart</p>
<pre><code class="language-cpp">bool Init ()
{
 // SelectRow = true;
 // Leere LisView und fülle es mit Daten anschliessend setze row
 ListView-&gt;Selected = ListView-&gt;Items-&gt;Item[row];
 return true;
}

void __fastcall TFrame1::ListView1CustomDrawItem(
      TCustomListView *Sender, TListItem *Item, TCustomDrawState State,
      bool &amp;DefaultDraw)
{
    if (Item-&gt;Selected)
    {
        ListView1-&gt;Canvas-&gt;Brush-&gt;Color = 0x00C56A31;
        ListView1-&gt;Canvas-&gt;Font-&gt;Color = clWhite;
    }
}
</code></pre>
<p>Ich bekomme ich es hin, das er schon bei Programmstart den ausgewählten Eintrag markiert? Wäre toll wenn das jemand wüsste.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/170478/listview-frage</link><generator>RSS for Node</generator><lastBuildDate>Sat, 15 Aug 2026 04:20:48 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/170478.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 16 Jan 2007 14:31:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to ListView Frage on Tue, 16 Jan 2007 14:31:15 GMT]]></title><description><![CDATA[<p>Hallo.</p>
<p>Ich zeichne in der OnCustomDraw Methode von meinem ListView etwas.<br />
Wenn ich das Programm starte gebe ich dem ListView gleich einen Eintrag den er vormakrieren soll.</p>
<pre><code class="language-cpp">ListView-&gt;Selected = ListView-&gt;Items-&gt;Item[row];
</code></pre>
<p>Er sagt mir auch in OnSelectItem das der Eintrag markiert wurde, aber das ListView wird grafisch von OnCustomDraw nicht verändert, nur wenn ich per Maus in das ListView reinklickere, zeichnet er den ausgewählten Eintrag endlich andersfarbig.</p>
<p>Also Programmstart</p>
<pre><code class="language-cpp">bool Init ()
{
 // SelectRow = true;
 // Leere LisView und fülle es mit Daten anschliessend setze row
 ListView-&gt;Selected = ListView-&gt;Items-&gt;Item[row];
 return true;
}

void __fastcall TFrame1::ListView1CustomDrawItem(
      TCustomListView *Sender, TListItem *Item, TCustomDrawState State,
      bool &amp;DefaultDraw)
{
    if (Item-&gt;Selected)
    {
        ListView1-&gt;Canvas-&gt;Brush-&gt;Color = 0x00C56A31;
        ListView1-&gt;Canvas-&gt;Font-&gt;Color = clWhite;
    }
}
</code></pre>
<p>Ich bekomme ich es hin, das er schon bei Programmstart den ausgewählten Eintrag markiert? Wäre toll wenn das jemand wüsste.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1210813</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1210813</guid><dc:creator><![CDATA[KarlderKäfer]]></dc:creator><pubDate>Tue, 16 Jan 2007 14:31:15 GMT</pubDate></item><item><title><![CDATA[Reply to ListView Frage on Tue, 16 Jan 2007 14:56:40 GMT]]></title><description><![CDATA[<p>wie kann ein Eintrag bei Programmstart schon ausgewählt sein, oder verstehe ich das falsch ?<br />
setze ListView-&gt;ItemIndex , um einen Eintrag zu markieren/auszuwählen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1210823</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1210823</guid><dc:creator><![CDATA[OldMan00]]></dc:creator><pubDate>Tue, 16 Jan 2007 14:56:40 GMT</pubDate></item><item><title><![CDATA[Reply to ListView Frage on Tue, 16 Jan 2007 15:42:04 GMT]]></title><description><![CDATA[<p>ListView hat kein ItemIndex, du meinst sicherlich ListBox, die hier aber nicht gemeint ist und es geht darum das bei Programmstart bereits eine Auswahl zu sehen ist. Damit die &quot;Markierung&quot; auch bleibt wenn Fokus weg ist, wird die Markierung dauerthaft mittels CustomDraw dargestellt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1210851</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1210851</guid><dc:creator><![CDATA[KarlderKäfer]]></dc:creator><pubDate>Tue, 16 Jan 2007 15:42:04 GMT</pubDate></item><item><title><![CDATA[Reply to ListView Frage on Tue, 16 Jan 2007 15:50:19 GMT]]></title><description><![CDATA[<p>Schau Dir mal die Eigenschaft Selected an.</p>
<p>//Edit: Wieso hat ListView kein ItemIndex?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1210855</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1210855</guid><dc:creator><![CDATA[Rostfrei**]]></dc:creator><pubDate>Tue, 16 Jan 2007 15:50:19 GMT</pubDate></item><item><title><![CDATA[Reply to ListView Frage on Tue, 16 Jan 2007 15:49:11 GMT]]></title><description><![CDATA[<p>TListView hat die Eigenschaft ItemIndex. Das Setzen funktioniert darüber auch einwandfrei.</p>
<p>Zum Thema Markierung erhalten, bei Fokuswechsel:<br />
Dafür reicht es dann allerdings HideSelection auf false zu setzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1210856</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1210856</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 16 Jan 2007 15:49:11 GMT</pubDate></item><item><title><![CDATA[Reply to ListView Frage on Tue, 16 Jan 2007 16:11:49 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/10447">@Rostfrei</a>[]<br />
Siehe mein Startbeitrag <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
<pre><code class="language-cpp">ListView-&gt;Selected = ListView-&gt;Items-&gt;Item[row];
</code></pre>
<p>Ich weiss nicht wie ihr es hinbekommt, aber bei mir meint der Compiler zu ListView1-&gt;ItemIndex = 2 &quot;ItemIndex ist kein Element von TListView&quot;.</p>
<p>@Joe_M.<br />
Ja, aber es wird grau. Mit CustomDraw bleibt die Markierung in der Farbe.</p>
<p>Mein Problem besteht aber immernoch. Wenn ich das Programm starte, möchte ich gleich eine Zeile selektiert haben. Wie oben beschrieben klappt das aber leider nicht. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1210875</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1210875</guid><dc:creator><![CDATA[KarlderKäfer]]></dc:creator><pubDate>Tue, 16 Jan 2007 16:11:49 GMT</pubDate></item><item><title><![CDATA[Reply to ListView Frage on Tue, 16 Jan 2007 16:15:43 GMT]]></title><description><![CDATA[<p>Du hast nicht zufällig die CLX-Variante von TListView genommen? Da gibt es wirklich kein ItemIndex.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1210880</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1210880</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 16 Jan 2007 16:15:43 GMT</pubDate></item><item><title><![CDATA[Reply to ListView Frage on Tue, 16 Jan 2007 16:33:25 GMT]]></title><description><![CDATA[<p>WIN32 Tab und dort das TListView in TFrame gelegt. Wo ich CLX herbekomme weiss ich nichtmal (BCB5) <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>In</p>
<pre><code class="language-cpp">__fastcall TMyInput::TMyInput(TComponent* Owner)
</code></pre>
<p>schreibe ich</p>
<pre><code class="language-cpp">ListView1-&gt;Selected = ListView1-&gt;Items-&gt;Item[0];
</code></pre>
<p>Aber</p>
<pre><code class="language-cpp">void __fastcall TMyInput::ListView1CustomDrawItem(
      TCustomListView *Sender, TListItem *Item, TCustomDrawState State,
      bool &amp;DefaultDraw)
{
    if (Item-&gt;Selected)
    {
        ShowMessage(&quot;hello&quot;);
    }
}
</code></pre>
<p>Spuckt bei Programmstart keine MessageBox aus.<br />
Auch ListView1-&gt;Repaint() oder ListView1-&gt;Refresh() oder ListView1-&gt;Update() bewirkt nichts. Hilfe <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="😕"
    /> ^^&quot;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1210888</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1210888</guid><dc:creator><![CDATA[KarlderKäfer]]></dc:creator><pubDate>Tue, 16 Jan 2007 16:33:25 GMT</pubDate></item><item><title><![CDATA[Reply to ListView Frage on Tue, 16 Jan 2007 16:42:38 GMT]]></title><description><![CDATA[<p>Hast du mal einen Breakpoint in CustomDrawItem gesetzt? Geh doch mal mit den Debugger durch und schau, ob die Funktion aufgerufen wird. Normalerweise sollte ein Repaint() das schon bewirken.<br />
Übrigens: ItemIndex gibt es beim BCB5 noch nicht (und CLX auch nicht). <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/1210898</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1210898</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 16 Jan 2007 16:42:38 GMT</pubDate></item><item><title><![CDATA[Reply to ListView Frage on Tue, 16 Jan 2007 16:48:14 GMT]]></title><description><![CDATA[<p>Wenn ich das ShowMessage aus der if() rausnehme und direkt in die Funktion plaziere wird es nicht aufgerufen. Repaint bewirkt wie gesagt leider nichts. Ich kann doch auch die Funktion ListView1CustomDrawItem() so aufrufen .. aber wie müssen da die Parameter lauten? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1210907</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1210907</guid><dc:creator><![CDATA[KarlderKäfer]]></dc:creator><pubDate>Tue, 16 Jan 2007 16:48:14 GMT</pubDate></item><item><title><![CDATA[Reply to ListView Frage on Tue, 16 Jan 2007 16:51:07 GMT]]></title><description><![CDATA[<p>Braunstein schrieb:</p>
<blockquote>
<p>ItemIndex gibt es beim BCB5 noch nicht</p>
</blockquote>
<p>ahh wußte ich nicht, ich benutze BCB6.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1210910</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1210910</guid><dc:creator><![CDATA[OldMan00]]></dc:creator><pubDate>Tue, 16 Jan 2007 16:51:07 GMT</pubDate></item><item><title><![CDATA[Reply to ListView Frage on Tue, 16 Jan 2007 17:00:56 GMT]]></title><description><![CDATA[<p>Versuchs mal so</p>
<pre><code class="language-cpp">void __fastcall TMyInput::ListView1CustomDrawItem(
      TCustomListView *Sender, TListItem *Item, TCustomDrawState State,
      bool &amp;DefaultDraw)
{
    if (State.Contains(cdsSelected))
    {
        ShowMessage(&quot;hello&quot;);
    }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1210912</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1210912</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 16 Jan 2007 17:00:56 GMT</pubDate></item><item><title><![CDATA[Reply to ListView Frage on Wed, 17 Jan 2007 09:12:39 GMT]]></title><description><![CDATA[<p>In der Hauptfunktion füge ich in das ListView Einträge hinzu:</p>
<pre><code class="language-cpp">ListView1-&gt;Tag=1;
    ListView1-&gt;Items-&gt;Clear();
    ListView1-&gt;Items-&gt;BeginUpdate();
    TListItem *ListItem;
	for (int i=0;i&lt;10;i++)
	{
        ListItem = ListView1-&gt;Items-&gt;Add();
        ListItem-&gt;Caption = &quot;bla&quot;;
        ListItem-&gt;SubItems-&gt;Add(&quot;xxx&quot;);
        ListItem-&gt;SubItems-&gt;Add(&quot;yyy&quot;);
	}
    ListView1-&gt;Items-&gt;EndUpdate();
    ListView1-&gt;Tag=0;
</code></pre>
<p>Wie man sieht setze ich am Anfang den ListView Tag auf 1 und am Ende zurück auf 0</p>
<pre><code class="language-cpp">void __fastcall TMyInput::ListView1CustomDrawItem(
      TCustomListView *Sender, TListItem *Item, TCustomDrawState State,
      bool &amp;DefaultDraw)
{
    if ((ListView1-&gt;Tag==0) &amp;&amp; (State.Contains(cdsSelected)))
    //if (Item-&gt;Selected)
    {
        ListView1-&gt;Canvas-&gt;Brush-&gt;Color = 0x00C56A31;
        ListView1-&gt;Canvas-&gt;Font-&gt;Color = clWhite;
ShowMessage(&quot;&quot;);
    }
}
</code></pre>
<p>Wenn er jetzt am Anfang die Einträge hinzufügt sollte er ja eigentlich nicht in die IF kommen, macht er aber! Darum setzte ich ich den Tag auf 1 um das zu verhindern, jedoch brachte das garnichts! Wenn ich das Programm starte sehe ich die Form und die MessageBox und pro Klick auf das &quot;OK&quot; fügt er einen Eintrag in das ListView hinzu und eine neue MessageBox erscheint, bis eben alle Einträge hinzugefügt wurden.</p>
<p>Jetzt bin ich etwas paff. Eigentlich wollte ich am Ende des hinzufügens einen Wert selektieren und dieser sollte dann markiert werden, was das jetzt hier macht ist nicht nachvollziehbar -.-</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1211188</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1211188</guid><dc:creator><![CDATA[KarlderKäfer]]></dc:creator><pubDate>Wed, 17 Jan 2007 09:12:39 GMT</pubDate></item><item><title><![CDATA[Reply to ListView Frage on Tue, 20 Mar 2007 06:52:21 GMT]]></title><description><![CDATA[<p>Hallo,<br />
kann mir jemand sagen wie ich in so einem ListItem statt einem einfachen String<br />
ListItem-&gt;SubItems-&gt;Add(&quot;xxx&quot;);<br />
eine Checkbox unterbringen kann?<br />
Mir fällt dazu echt nichts ein.<br />
Hoffe auf eure Hilfe. Dank im Voraus.</p>
<p>Gruss<br />
uragan24</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1248874</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1248874</guid><dc:creator><![CDATA[uragan24]]></dc:creator><pubDate>Tue, 20 Mar 2007 06:52:21 GMT</pubDate></item><item><title><![CDATA[Reply to ListView Frage on Tue, 20 Mar 2007 10:55:53 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>entweder du schaust im Forum mal nen paar Stunden zurück (da wurde das Thema bereits behandelt) oder du schaust hier: <a href="http://www.bytesandmore.de/rad/cpp/snipp/sc02038.php" rel="nofollow">http://www.bytesandmore.de/rad/cpp/snipp/sc02038.php</a></p>
<p>Ansonsten gibt es soweit ich weiß die Eigenschaft &quot;Checkboxes&quot; im TListView</p>
<p>mfg, Micha</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1248998</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1248998</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 20 Mar 2007 10:55:53 GMT</pubDate></item><item><title><![CDATA[Reply to ListView Frage on Tue, 20 Mar 2007 13:57:46 GMT]]></title><description><![CDATA[<p>hi.<br />
Die Eigenschaft Checkbox in ListView möchte ich nicht verwenden da ich das<br />
Ganze variabel (Checkbox, Combobox, Radiobutton) gestalten möchte.<br />
Das Beispiel bringt mich ehrlich gesagt auch nicht viel weiter da es für ein TStringGrid ausgelegt ist...</p>
<p>Trotzdem Danke für deine Mühe.<br />
Vielleicht weiss ja noch jemand wie ich das lösen könnte??</p>
<p>Gruss<br />
uragan24</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1249129</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1249129</guid><dc:creator><![CDATA[uragan24]]></dc:creator><pubDate>Tue, 20 Mar 2007 13:57:46 GMT</pubDate></item><item><title><![CDATA[Reply to ListView Frage on Tue, 20 Mar 2007 14:26:24 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Du kommst nicht umhin aufwendug mit Inclace-Editoren zu arbeiten. Schau dir <a href="http://www.bytesandmore.de/rad/index.htm?http://www.bytesandmore.de/rad/cpp/snipp/sc02038.php" rel="nofollow">dieses Beispiel</a> für TStringGrid an, das läßt sich sicher auch für TListView umsetzen.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1249148</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1249148</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Tue, 20 Mar 2007 14:26:24 GMT</pubDate></item></channel></rss>