<?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[Probleme mit CListCtrl]]></title><description><![CDATA[<p>Ich kann mir nicht vorstellen, dass es sich dabei um einen Bug handelt, dafür gibt's die MFC einfach schon zulange, daher würde ich mich freuen, wenn mir mal jemand auf die Sprünge hilft, wo ich meinen Denkfehler hab. <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>
<p>Ich bin gerade dabei, ein kleines Tool zu programmieren, das einfach nur eine stinknormale Ascii-Textdatei (diese enthält einen Eintrag, in diesem Fall ein Mannschaftsname, pro Zeile) einliest und deren Einträge in einem CListCtrl mit Nummerierung auflistet. Also eine Zeile in der Datei gleich Zeilennummer (1. Spalte) + Eintrag aus Datei (2. Spalte) im CListCtrl.</p>
<p>Erst hatte ich ohne Probleme die Numerierung ausgeben können, allerdings kamen die Einträge nicht dazu, erst nachdem ich die Datei ein zweites Mal ins ListCtrl geladen habe, ohne es vorher zu löschen. Und da ist mir der Fehler aufgefallen. Hier erstmal der aktuelle Code:</p>
<pre><code class="language-cpp">//Aufbau Liste aus OnInitDialog
	m_pList= (CListCtrl*) GetDlgItem(IDC_LIST);
	m_pList-&gt;InsertColumn(0,&quot;Nr.&quot;,LVCFMT_LEFT,30);
	m_pList-&gt;InsertColumn(1,&quot;Mannschaft&quot;,LVCFMT_LEFT, 130);
</code></pre>
<pre><code class="language-cpp">if (file.Open(dlg.GetPathName(),CFile::modeRead)){

			while(file.ReadString(line)){
				nListElem = m_pList-&gt;GetItemCount()+1; 
				pos.Format(&quot;%3d&quot;, nListElem); 

				m_pList-&gt;InsertItem(nListElem, pos);		//Position
				m_pList-&gt;SetItemText(nListElem-1, 1, line); //Mannschaft
			}	
		}
</code></pre>
<p>Warum muss ich nun beim SetItemText nListElem**-1** nutzen? Es müsste sich doch um dieselbe Zeile wie beim InsertItem handeln... Laut Definition der Methoden ist der Parameter auch immer die Zeile...</p>
<blockquote>
<p>int InsertItem(int nItem, LPCTSTR lpszItem );</p>
<p>nItem<br />
Specifies the index of the item to be inserted.</p>
<p>BOOL SetItemText( int nItem, int nSubItem, LPTSTR lpszText );</p>
<p>nItem<br />
Index of the item whose text is to be set.</p>
</blockquote>
<p>Würd mich freuen, wenn mir da mal einer auf die Sprünge helfen könnte.</p>
<p>Desweiteren würd ich gerne auf Mouseklick die zweite Spalte bearbeiten, hab dazu aber trotz vielen Suchens noch nix gefunden. Hat dafür auch mal jemand bitte eine Anregung? Falls da ein Event für zuständig ist, könnte das ja fast schon reichen, dann würd ich mich mal dran probieren.</p>
<p>Vielen Dank schonmal... <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/topic/167639/probleme-mit-clistctrl</link><generator>RSS for Node</generator><lastBuildDate>Fri, 01 May 2026 10:56:36 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/167639.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 13 Dec 2006 11:06:38 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Probleme mit CListCtrl on Wed, 13 Dec 2006 11:06:38 GMT]]></title><description><![CDATA[<p>Ich kann mir nicht vorstellen, dass es sich dabei um einen Bug handelt, dafür gibt's die MFC einfach schon zulange, daher würde ich mich freuen, wenn mir mal jemand auf die Sprünge hilft, wo ich meinen Denkfehler hab. <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>
<p>Ich bin gerade dabei, ein kleines Tool zu programmieren, das einfach nur eine stinknormale Ascii-Textdatei (diese enthält einen Eintrag, in diesem Fall ein Mannschaftsname, pro Zeile) einliest und deren Einträge in einem CListCtrl mit Nummerierung auflistet. Also eine Zeile in der Datei gleich Zeilennummer (1. Spalte) + Eintrag aus Datei (2. Spalte) im CListCtrl.</p>
<p>Erst hatte ich ohne Probleme die Numerierung ausgeben können, allerdings kamen die Einträge nicht dazu, erst nachdem ich die Datei ein zweites Mal ins ListCtrl geladen habe, ohne es vorher zu löschen. Und da ist mir der Fehler aufgefallen. Hier erstmal der aktuelle Code:</p>
<pre><code class="language-cpp">//Aufbau Liste aus OnInitDialog
	m_pList= (CListCtrl*) GetDlgItem(IDC_LIST);
	m_pList-&gt;InsertColumn(0,&quot;Nr.&quot;,LVCFMT_LEFT,30);
	m_pList-&gt;InsertColumn(1,&quot;Mannschaft&quot;,LVCFMT_LEFT, 130);
</code></pre>
<pre><code class="language-cpp">if (file.Open(dlg.GetPathName(),CFile::modeRead)){

			while(file.ReadString(line)){
				nListElem = m_pList-&gt;GetItemCount()+1; 
				pos.Format(&quot;%3d&quot;, nListElem); 

				m_pList-&gt;InsertItem(nListElem, pos);		//Position
				m_pList-&gt;SetItemText(nListElem-1, 1, line); //Mannschaft
			}	
		}
</code></pre>
<p>Warum muss ich nun beim SetItemText nListElem**-1** nutzen? Es müsste sich doch um dieselbe Zeile wie beim InsertItem handeln... Laut Definition der Methoden ist der Parameter auch immer die Zeile...</p>
<blockquote>
<p>int InsertItem(int nItem, LPCTSTR lpszItem );</p>
<p>nItem<br />
Specifies the index of the item to be inserted.</p>
<p>BOOL SetItemText( int nItem, int nSubItem, LPTSTR lpszText );</p>
<p>nItem<br />
Index of the item whose text is to be set.</p>
</blockquote>
<p>Würd mich freuen, wenn mir da mal einer auf die Sprünge helfen könnte.</p>
<p>Desweiteren würd ich gerne auf Mouseklick die zweite Spalte bearbeiten, hab dazu aber trotz vielen Suchens noch nix gefunden. Hat dafür auch mal jemand bitte eine Anregung? Falls da ein Event für zuständig ist, könnte das ja fast schon reichen, dann würd ich mich mal dran probieren.</p>
<p>Vielen Dank schonmal... <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/1191105</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191105</guid><dc:creator><![CDATA[Knaecke]]></dc:creator><pubDate>Wed, 13 Dec 2006 11:06:38 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit CListCtrl on Wed, 13 Dec 2006 11:15:29 GMT]]></title><description><![CDATA[<p>Warum denn</p>
<pre><code class="language-cpp">m_pList-&gt;SetItemText(nListElem-1, 1, line); //Mannschaft
</code></pre>
<p>Das ist irgendwie sinnfrei. Aber ich nehm an, dass du schon probiert hast, das &quot;-1&quot; einfach mal zu entfernen. Bi mir gehts so wunderbar (also ohne &quot;-1&quot;).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1191113</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191113</guid><dc:creator><![CDATA[Uruk-h4j]]></dc:creator><pubDate>Wed, 13 Dec 2006 11:15:29 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit CListCtrl on Wed, 13 Dec 2006 11:21:18 GMT]]></title><description><![CDATA[<p>Welches VC nutzt du?<br />
Beim VC6 gibt es einen Service Pack 6. <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="😉"
    /> Evtl. wars doch ein Fehler. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1191118</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191118</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Wed, 13 Dec 2006 11:21:18 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit CListCtrl on Wed, 13 Dec 2006 11:41:23 GMT]]></title><description><![CDATA[<p>is doch logisch das du -1 machen musst, da du ja mit</p>
<pre><code class="language-cpp">nListElem = m_pList-&gt;GetItemCount()+1; // +1
</code></pre>
<p>gearbeitet hast</p>
<p>in einer CListCtrl ist element 1 wie in einem array 0</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1191134</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191134</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Wed, 13 Dec 2006 11:41:23 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit CListCtrl on Wed, 13 Dec 2006 11:59:51 GMT]]></title><description><![CDATA[<p>@Uruk: Genau das wundert mich ja auch. Aber das ging nur so. Ich hatte es natürlich zuerst ohne die -1 probiert, da es sich ja beim InsertItem und SetItemText um dieselbe Zeile handeln sollte...</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/20441">@Mr</a>. Evil: Nee damit hat das rein gar nix zu tun, das ist nur, um die aktuelle Anzahl an Beiträgen rauszufinden und ich will nicht mit 0 bei der Numerierung anfangen.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/4897">@estartu</a>: Das könnte eine Lösung sein, ich hab es hier mit dem MS VC 6.0 probiert... ich teste es mal in einer späteren Version...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1191149</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191149</guid><dc:creator><![CDATA[Knaecke]]></dc:creator><pubDate>Wed, 13 Dec 2006 11:59:51 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit CListCtrl on Wed, 13 Dec 2006 12:10:12 GMT]]></title><description><![CDATA[<p>Knaecke schrieb:</p>
<blockquote>
<p>Nee damit hat das rein gar nix zu tun,...</p>
</blockquote>
<p>Dann sagst du aber, er soll das erste Element an Stelle 1 einfügen. Was ist dann an Stelle 0 (bei der die Zählweise startet) ?<br />
Oder andersrum:<br />
deine Liste enthält ein einziges Element an zweiter Stelle ?!?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1191156</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191156</guid><dc:creator><![CDATA[isabeau]]></dc:creator><pubDate>Wed, 13 Dec 2006 12:10:12 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit CListCtrl on Wed, 13 Dec 2006 12:12:55 GMT]]></title><description><![CDATA[<p>Knaecke schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/20441">@Mr</a>. Evil: Nee damit hat das rein gar nix zu tun, das ist nur, um die aktuelle Anzahl an Beiträgen rauszufinden und ich will nicht mit 0 bei der Numerierung anfangen.</p>
</blockquote>
<p>Du willst vielleicht nicht - aber das CListCtrl fängt bei Null an mit der Zählung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1191159</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191159</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 13 Dec 2006 12:12:55 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit CListCtrl on Wed, 13 Dec 2006 12:21:03 GMT]]></title><description><![CDATA[<p>Hab hier mal nen hilfreichen link ausgegraben...<br />
<a href="http://www.coding-help.de/listenelement.html" rel="nofollow">http://www.coding-help.de/listenelement.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1191163</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191163</guid><dc:creator><![CDATA[Uruk-h4j]]></dc:creator><pubDate>Wed, 13 Dec 2006 12:21:03 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit CListCtrl on Wed, 13 Dec 2006 12:21:13 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>Knaecke schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/20441">@Mr</a>. Evil: Nee damit hat das rein gar nix zu tun, das ist nur, um die aktuelle Anzahl an Beiträgen rauszufinden und ich will nicht mit 0 bei der Numerierung anfangen.</p>
</blockquote>
<p>Du willst vielleicht nicht - aber das CListCtrl fängt bei Null an mit der Zählung.</p>
</blockquote>
<p>Oh stimmt, hatte ich trotz mehrfachem Lesen übersehen. <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="😮"
    /><br />
Mich hatten einfach nur die unterschiedlichen Idizes in Zeile 7 und 8 iritiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1191165</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191165</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Wed, 13 Dec 2006 12:21:13 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit CListCtrl on Wed, 13 Dec 2006 12:24:29 GMT]]></title><description><![CDATA[<p>Apropo Zeile 7 und 8...muss das dann nicht in beiden &quot;-1&quot; sein????</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1191167</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191167</guid><dc:creator><![CDATA[Uruk-h4j]]></dc:creator><pubDate>Wed, 13 Dec 2006 12:24:29 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit CListCtrl on Wed, 13 Dec 2006 12:26:48 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>Knaecke schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/20441">@Mr</a>. Evil: Nee damit hat das rein gar nix zu tun, das ist nur, um die aktuelle Anzahl an Beiträgen rauszufinden und ich will nicht mit 0 bei der Numerierung anfangen.</p>
</blockquote>
<p>Du willst vielleicht nicht - aber das CListCtrl fängt bei Null an mit der Zählung.</p>
</blockquote>
<p>Ok das war der Fehler *g* Dann entschuldige ich mich auch mal bei Mr Evil <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="😉"
    /><br />
Ich hab's nun abgeändert und die 1 nur beim String der Position addiert. Nun geht es. Danke für die schnelle Hilfe. (Mit dem 2003er Studio ging's übrigens auch nicht <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>
<pre><code class="language-cpp">while(file.ReadString(line)){
				nListElem = m_pList-&gt;GetItemCount(); 
				pos.Format(&quot;%3d&quot;, nListElem+1); 

				m_pList-&gt;InsertItem(nListElem, pos);		//Position
				m_pList-&gt;SetItemText(nListElem, 1, line); //Eintrag
			}
</code></pre>
<p>Nun hab ich aber noch das Problem, das ich gern die Einträge in der 2. Spalte bearbeiten möchte, das geht bisher aber default-mäßig nur mit der ersten, die zweite kann ich nicht mal markieren. Hat da einer einen Vorschlag? Da muss es doch irgendein Event geben... *such*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1191170</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191170</guid><dc:creator><![CDATA[Knaecke]]></dc:creator><pubDate>Wed, 13 Dec 2006 12:26:48 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit CListCtrl on Wed, 13 Dec 2006 12:32:40 GMT]]></title><description><![CDATA[<p>Knaecke schrieb:</p>
<blockquote>
<p>die zweite kann ich nicht mal markieren. Hat da einer einen Vorschlag?</p>
</blockquote>
<pre><code class="language-cpp">// Immer die gesamte Zeile auswählen
	SendDlgItemMessage(IDC_LSC_ERGEBNISSE, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, LVS_EX_FULLROWSELECT | LVS_EX_INFOTIP);
</code></pre>
<p>...oder in der FAQ. <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>
<p>Wegen dem Editieren kann ich dir nur Codeproject ans Herz legen: <a href="http://www.codeproject.com/listctrl/" rel="nofollow">http://www.codeproject.com/listctrl/</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1191174</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191174</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Wed, 13 Dec 2006 12:32:40 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit CListCtrl on Wed, 13 Dec 2006 12:34:23 GMT]]></title><description><![CDATA[<p>*mitsucht*</p>
<pre><code class="language-cpp">m_pList-&gt;SetExtendedStyle(LVS_EX_FULLROWSELECT);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1191176</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191176</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 13 Dec 2006 12:34:23 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit CListCtrl on Wed, 13 Dec 2006 16:51:09 GMT]]></title><description><![CDATA[<p>Hm für's Markieren war schon der Link von Uruk ganz hilfreich, aber zum editieren werd ich mir mal den anderen anschauen. Wenn's ein brauchbares Ergebnis gibt, werd ich das mal hier posten, falls später mal noch einer danach sucht <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>
<p>Danke nochmal für die Links. Wenn man selbst sucht findet man irgendwie immer nur die falschen Links bei sowas <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>EDIT: Hm der Link bei Codeproject ist gut, endlich mal was ausführliches. Sowas hab ich lange gesucht und nie gefunden. Da kann ich wahrscheinlich sogar mehr aus meinem kleinen Tool machen als geplant war <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>
<p>nochmal EDIT: Hab es nun doch anders gelöst, ohne direktes Editieren, daher hab ich doch leider keine Lösung <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="😉"
    /> Damit kann das Thema eigentlich geschlossen werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1191177</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191177</guid><dc:creator><![CDATA[Knaecke]]></dc:creator><pubDate>Wed, 13 Dec 2006 16:51:09 GMT</pubDate></item></channel></rss>