<?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[Falsche Rückgabe TListView bei Anzahl Spalten SubItems...]]></title><description><![CDATA[<p>Hallo</p>
<p>ein TListView (frm17_lvTabelle) hat 5 Columns (1 Caption, 4 SubItems). Diese lege ich (wie immer) direkt im IDE über Columns an. Dann zeichne ich die TListView mit OwnerDraw selbst. Im Quellcode hole ich mit iAnz= die Anzahl der Subspalten. Was bis jetzt immer funktioniert hat, bringt jetzt immer die Zahl 6; egal ob ich im IDE bei Columns Spalten lösche oder hinzufüge. Habe den Quellcode schon komplett aus dem Projekt entfernt und neu hinzugefügt, die obj. vom Form17 gelöscht usw. Alles ohne Erfolg. Kennt jemand dieses Phänomen? <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>
<pre><code class="language-cpp">void __fastcall TForm17::frm17_lvTabelleDrawItem(TCustomListView *Sender, TListItem *Item, TRect &amp;ARect, TOwnerDrawState State)
{try {                                                                          // Fehlerroutine Start
 Integer iSymb,iAnz,iB,iStil,iItem,iTage; AnsiString z1,z2;                     // Vars definieren
 TColor f1,f2; TCanvas *ACanvas;                                                // Vars definieren
 TRect CRect;                                                                   // Rect Strukt vorbereiten
 Graphics::TBitmap *bmp;                                                        // Bitmap vorbereiten

 TListView   *LView= dynamic_cast&lt;TListView   *&gt;     (Sender);                  // Versuchen, Sender als TListView anzusprechen

 z1     =&quot; &quot;+Item-&gt;Caption;                                                     // aktuelle Spalte
 iAnz   =Item-&gt;SubItems-&gt;Count;                                                 // Anzahl Subspalten
 iItem  =Item-&gt;Index;                                                           // Index ermitteln
 ACanvas=LView-&gt;Canvas;                                                         // Canvas übergeben
 f1     =clWhite;                                                               // Voreinstellung HG in ws
 f2     =clMaroon;                                                              // Textfarbe
 iStil  =DT_LEFT;                                                               // Ausrichtung

 Form17-&gt;Caption=&quot;Anzahl Columns: &quot;+IntToStr(iAnz)+&quot;   Name: &quot;+LView-&gt;Name;
</code></pre>
<p>Alle anderen Werte stimmen 100%, z.B. der Name mit LView-&gt;Name usw.<br />
Verstehe die Welt nicht mehr... <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>
<p>Gruss Stefan</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/190475/falsche-rückgabe-tlistview-bei-anzahl-spalten-subitems</link><generator>RSS for Node</generator><lastBuildDate>Mon, 17 Aug 2026 13:03:09 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/190475.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 23 Aug 2007 08:56:02 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Falsche Rückgabe TListView bei Anzahl Spalten SubItems... on Thu, 23 Aug 2007 08:56:02 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>ein TListView (frm17_lvTabelle) hat 5 Columns (1 Caption, 4 SubItems). Diese lege ich (wie immer) direkt im IDE über Columns an. Dann zeichne ich die TListView mit OwnerDraw selbst. Im Quellcode hole ich mit iAnz= die Anzahl der Subspalten. Was bis jetzt immer funktioniert hat, bringt jetzt immer die Zahl 6; egal ob ich im IDE bei Columns Spalten lösche oder hinzufüge. Habe den Quellcode schon komplett aus dem Projekt entfernt und neu hinzugefügt, die obj. vom Form17 gelöscht usw. Alles ohne Erfolg. Kennt jemand dieses Phänomen? <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>
<pre><code class="language-cpp">void __fastcall TForm17::frm17_lvTabelleDrawItem(TCustomListView *Sender, TListItem *Item, TRect &amp;ARect, TOwnerDrawState State)
{try {                                                                          // Fehlerroutine Start
 Integer iSymb,iAnz,iB,iStil,iItem,iTage; AnsiString z1,z2;                     // Vars definieren
 TColor f1,f2; TCanvas *ACanvas;                                                // Vars definieren
 TRect CRect;                                                                   // Rect Strukt vorbereiten
 Graphics::TBitmap *bmp;                                                        // Bitmap vorbereiten

 TListView   *LView= dynamic_cast&lt;TListView   *&gt;     (Sender);                  // Versuchen, Sender als TListView anzusprechen

 z1     =&quot; &quot;+Item-&gt;Caption;                                                     // aktuelle Spalte
 iAnz   =Item-&gt;SubItems-&gt;Count;                                                 // Anzahl Subspalten
 iItem  =Item-&gt;Index;                                                           // Index ermitteln
 ACanvas=LView-&gt;Canvas;                                                         // Canvas übergeben
 f1     =clWhite;                                                               // Voreinstellung HG in ws
 f2     =clMaroon;                                                              // Textfarbe
 iStil  =DT_LEFT;                                                               // Ausrichtung

 Form17-&gt;Caption=&quot;Anzahl Columns: &quot;+IntToStr(iAnz)+&quot;   Name: &quot;+LView-&gt;Name;
</code></pre>
<p>Alle anderen Werte stimmen 100%, z.B. der Name mit LView-&gt;Name usw.<br />
Verstehe die Welt nicht mehr... <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>
<p>Gruss Stefan</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1350257</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1350257</guid><dc:creator><![CDATA[Stefan71242]]></dc:creator><pubDate>Thu, 23 Aug 2007 08:56:02 GMT</pubDate></item><item><title><![CDATA[Reply to Falsche Rückgabe TListView bei Anzahl Spalten SubItems... on Thu, 23 Aug 2007 09:09:59 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Bei TListView können sich die Anzahl der angezeigten Spalten des Controls und die Anzahl der Subitems einer Zeile sehr wohl unterscheiden, bzw. bei der Änderung der Anzahl Spalten bleiben beim gleichen Items-Einlesealgo trotzdem die gleichen Subitems.<br />
Die echte Anzahl Spalten des Controls kannst du mit</p>
<pre><code class="language-cpp">iAnz   = ListView-&gt;Columns-&gt;Count;
</code></pre>
<p>abfragen.</p>
<blockquote>
<p>Form17</p>
</blockquote>
<p><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="😮"
    /> Hast du wirklich 17 Formulare mit Standardnamen? Wie wäre es mit aussagekräftigen Namen?</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1350265</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1350265</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Thu, 23 Aug 2007 09:09:59 GMT</pubDate></item><item><title><![CDATA[Reply to Falsche Rückgabe TListView bei Anzahl Spalten SubItems... on Thu, 23 Aug 2007 09:17:26 GMT]]></title><description><![CDATA[<p>Die Forms nummeriere ich nach Standardvorgabe durch; der Name der CPP ist dann bei mir eindeutig z.B. Form17 = Termine.cpp</p>
<p>Ich brauche aber vom Zeileneintrag die SubItems Anzahl, da diese ja variieren kann (eben je Zeile). Die LView-&gt;Columns kann von den SubItems Anzahl her abweichen.</p>
<p>..und während ich das hier schreibe ist mir auch klar wo der Fehler ist.<br />
Ich habe in einen anderen CPP nämlich die Subs zuviel anhgehängt (eben mehr als<br />
die Columns vorhanden sind und daher dann der Fehler) Von daher hat Dein Hinweis mir geholfen, vielen Dank!!!</p>
<p>Grüsse Stefan</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1350269</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1350269</guid><dc:creator><![CDATA[Stefan71242]]></dc:creator><pubDate>Thu, 23 Aug 2007 09:17:26 GMT</pubDate></item><item><title><![CDATA[Reply to Falsche Rückgabe TListView bei Anzahl Spalten SubItems... on Thu, 23 Aug 2007 09:31:12 GMT]]></title><description><![CDATA[<p>Hallo</p>
<blockquote>
<p>Die Forms nummeriere ich nach Standardvorgabe durch; der Name der CPP ist dann bei mir eindeutig z.B. Form17 = Termine.cpp</p>
</blockquote>
<p>Dann würde ich empfehlen auch die Formklasse entsprechend zu benennen, zum Beispiel TTerminForm.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1350282</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1350282</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Thu, 23 Aug 2007 09:31:12 GMT</pubDate></item></channel></rss>