<?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[ListBox Spaltenweise füllen!]]></title><description><![CDATA[<p>Hi,</p>
<p>ich hab hier das Problem, das ich eine ListBox spaltenweise füllen muss. Die erste Spalte enthält die Beschriftungen und bleibt immer gleich lang (150 einträge). Die anderen Spalten sind dann für die Werte zuständig. Wenn ich jetzt also 170 Werte hab dann sollen die letzten 20 in der 2. Spalte eingetragen werden. Und wenn ich halt über 320 Werte hab dann sollen die letzten 20 eben in Spalte 3 eingetragen werden usw...</p>
<p>Die Funktion AddItem unterstüzt nur ein Zeilenweises eintragen... da ich aber nicht weis wieviele Spalten ich brauche kann ich das schlecht benutzten. Weis einer einen Rat?</p>
<p>schonmal danke für eure Hilfe</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/85973/listbox-spaltenweise-füllen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Apr 2026 13:18:47 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/85973.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 14 Sep 2004 14:55:22 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to ListBox Spaltenweise füllen! on Tue, 14 Sep 2004 14:55:22 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich hab hier das Problem, das ich eine ListBox spaltenweise füllen muss. Die erste Spalte enthält die Beschriftungen und bleibt immer gleich lang (150 einträge). Die anderen Spalten sind dann für die Werte zuständig. Wenn ich jetzt also 170 Werte hab dann sollen die letzten 20 in der 2. Spalte eingetragen werden. Und wenn ich halt über 320 Werte hab dann sollen die letzten 20 eben in Spalte 3 eingetragen werden usw...</p>
<p>Die Funktion AddItem unterstüzt nur ein Zeilenweises eintragen... da ich aber nicht weis wieviele Spalten ich brauche kann ich das schlecht benutzten. Weis einer einen Rat?</p>
<p>schonmal danke für eure Hilfe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/607054</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/607054</guid><dc:creator><![CDATA[Chris++ 0]]></dc:creator><pubDate>Tue, 14 Sep 2004 14:55:22 GMT</pubDate></item><item><title><![CDATA[Reply to ListBox Spaltenweise füllen! on Tue, 14 Sep 2004 22:49:34 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich bin neu hier aber das wird mich nicht abhalten dir zu helfen. also mein erster post <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /><br />
was du brauchst ist die methode:</p>
<pre><code class="language-cpp">BOOL SetItemText(int nItem, int nSubItem, LPCTSTR lpszText);
</code></pre>
<p>nItem = ID des Items<br />
nSubItem = ID deiner Spalte<br />
LPCTSTR = Zeiger auf deinen String (oder halt der String selbst)</p>
<p>also wenn dein Dialog die Membervariable:</p>
<pre><code class="language-cpp">CListCtrl m_myList;
</code></pre>
<p>ist dann<br />
einfach:</p>
<pre><code class="language-cpp">m_MyList.SetItemText(nIDdesItems,nSpalte,strMeintext);
</code></pre>
<p>schreiben</p>
<p>Wichtig: Soweit ich das weiß, ist nItem (ID) des Items fest (und eindeutig!). Also das 20. das du in deiner Liste siehst hat nicht zwangsläufig die ID 19 ! Das gleiche gilt auch für die Spalten (Columns). Stell dir einfach eine Zeile als Vector vor in der alles der Reihe nach drinn steht. Änderungen an der ListView (vertauschen der Spalten, sortieren usw.) ändert nichts am Vektor sondern nur die Darstellung in der ListView.</p>
<p><strong>Bonus</strong>:</p>
<pre><code class="language-cpp">BOOL GetColumnOrderArray(LPINT piArray, int iCount = -1);
</code></pre>
<p><em>piArray :</em> Zeiger auf ein Integerarray -&gt; dieses bekommt dann die aktuell angezeigte Reihenfolge der Spalten<br />
<em>iCount</em> : Gibt an wie viele Elemente ausgelesen werden sollen, wenn nichts oder -1 angegeben versucht das ListView selber die gesamtzahl zurückzugeben</p>
<p>ps. die methode AddItem() könntest du schon nutzen, da ein Item alle Informationen einer &quot;Zeile&quot; beinhalted. Du müsstest aber vorher das Label (dein text ganz links) auslesen und durch das neue Item ersetzt werden......<br />
eigentlich programmiertechnisch humbug <strong>ABER</strong> wenn du das einmal auf diese Weise durchziehst dann hast du:<br />
1. ListCtrl funktionsweise verstanden<br />
2. Item-struktur verstanden<br />
3. Masken verstanden</p>
]]></description><link>https://www.c-plusplus.net/forum/post/607443</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/607443</guid><dc:creator><![CDATA[hal9000]]></dc:creator><pubDate>Tue, 14 Sep 2004 22:49:34 GMT</pubDate></item><item><title><![CDATA[Reply to ListBox Spaltenweise füllen! on Wed, 15 Sep 2004 04:24:20 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/7761">@hal9000</a>: Er weiß ja wie eine ListCtrl funktioniert.</p>
<p>Mach doch eine Schleife. Wenn GetItemCount erreicht dann beginne wieder von vorne.<br />
Willst du bei letzten weiter machen merke dir die POS oder gehe die Einträge wieder duch bis in der 2ten Spalte kein Wert mehr steht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/607464</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/607464</guid><dc:creator><![CDATA[Unix-Tom]]></dc:creator><pubDate>Wed, 15 Sep 2004 04:24:20 GMT</pubDate></item><item><title><![CDATA[Reply to ListBox Spaltenweise füllen! on Wed, 15 Sep 2004 07:36:17 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/7761">@hal9000</a></p>
<p>danke für deine ausfürliche Hilfe! <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/607538</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/607538</guid><dc:creator><![CDATA[Chris++ 0]]></dc:creator><pubDate>Wed, 15 Sep 2004 07:36:17 GMT</pubDate></item><item><title><![CDATA[Reply to ListBox Spaltenweise füllen! on Wed, 15 Sep 2004 13:29:22 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/156">@Unix-Tom</a></p>
<p>Unix-Tom schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/7761">@hal9000</a>: Er weiß ja wie eine ListCtrl funktioniert...</p>
</blockquote>
<p>Kann ja nicht sein, sonst wäre ihm ja die Memberfunktion SetItemText(...) bekannt gewesen. <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="😉"
    /> Desweiteren ist aus der MSDN ersichtlich, dass die ein Item alle Spalteneinträge (subitems) beinhalted. Demnach können Spaltentexte nur über über das Item selbst angesprochen werden.</p>
<blockquote>
<p>Mach doch eine Schleife. Wenn GetItemCount erreicht dann beginne wieder von vorne.</p>
</blockquote>
<p>hilft nicht viel, wenn du nur den text der 2. Spalte in der 10. Zeile ändern willst.... <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/607837</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/607837</guid><dc:creator><![CDATA[hal9000]]></dc:creator><pubDate>Wed, 15 Sep 2004 13:29:22 GMT</pubDate></item></channel></rss>