<?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[List View Item aus Liste buffen?]]></title><description><![CDATA[<p>Ich will ein Listviewitem aus der Liste buffen. Dazu nutze ich</p>
<pre><code>SendMessage(hWnd,LVM_GETITEMTEXT, i, (LPARAM)&amp;lviB);
</code></pre>
<p>Der erste Parameter ist ein handle, der Zweite ist die Msg, dass man ein Item anfordert, der Dritte ist wParam von WM_NOTIFY und gibt indem Fall an, das wievielte Item man aus der Liste auslesen will und der Vierte ist lParam und sollte eigentlich ein Item aus der Liste buffen vom Typ LVITEM. Nur ich scheine irgendetwas falsch zu machen, denn immer wenn ich das Member pszText verabreiten will, crasht das Programm. Auf andere Werte kann ich jedoch zu greifen. Und wenn ich dem String manuell einen Wert zu weise, dann kann ich auch mit ihm arbeiten. Mein Ziel ist letztendlich lviB.pszText mit anderen Strings zu vergleichen.</p>
<p>Und nebenbei gefragt, wieso muss bei SendMessage beim 4. Parameter (LPARAM) davor stehen? Ist das casting? Wenn ja, kann ich mir nur vorstellen, dass SendMessage dort einen LPARAM Wert erwartet und man daher den LVITEM Typ casten muss. Beim 3. Parameter muss man es nicht in wParam umwandeln, weil i mit wParam verwandt ist. Ist das so korrekt? Ich war mir da schon lange unsicher, aber zu so einer speziellen Frage konnte ich keine Antwort finden. Außerdem frage ich mich, wenn nun lviB in LPARAM gecastet wurde, ob man es dann wieder in LVITEM zurück casten muss. Zwar abe ich es nicht gemacht und es klingt ziemlich skurril, aber andererseits auch sinnvoll.</p>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/219371/list-view-item-aus-liste-buffen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 14 Apr 2026 18:28:58 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/219371.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 02 Aug 2008 08:05:54 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to List View Item aus Liste buffen? on Sat, 02 Aug 2008 08:05:54 GMT]]></title><description><![CDATA[<p>Ich will ein Listviewitem aus der Liste buffen. Dazu nutze ich</p>
<pre><code>SendMessage(hWnd,LVM_GETITEMTEXT, i, (LPARAM)&amp;lviB);
</code></pre>
<p>Der erste Parameter ist ein handle, der Zweite ist die Msg, dass man ein Item anfordert, der Dritte ist wParam von WM_NOTIFY und gibt indem Fall an, das wievielte Item man aus der Liste auslesen will und der Vierte ist lParam und sollte eigentlich ein Item aus der Liste buffen vom Typ LVITEM. Nur ich scheine irgendetwas falsch zu machen, denn immer wenn ich das Member pszText verabreiten will, crasht das Programm. Auf andere Werte kann ich jedoch zu greifen. Und wenn ich dem String manuell einen Wert zu weise, dann kann ich auch mit ihm arbeiten. Mein Ziel ist letztendlich lviB.pszText mit anderen Strings zu vergleichen.</p>
<p>Und nebenbei gefragt, wieso muss bei SendMessage beim 4. Parameter (LPARAM) davor stehen? Ist das casting? Wenn ja, kann ich mir nur vorstellen, dass SendMessage dort einen LPARAM Wert erwartet und man daher den LVITEM Typ casten muss. Beim 3. Parameter muss man es nicht in wParam umwandeln, weil i mit wParam verwandt ist. Ist das so korrekt? Ich war mir da schon lange unsicher, aber zu so einer speziellen Frage konnte ich keine Antwort finden. Außerdem frage ich mich, wenn nun lviB in LPARAM gecastet wurde, ob man es dann wieder in LVITEM zurück casten muss. Zwar abe ich es nicht gemacht und es klingt ziemlich skurril, aber andererseits auch sinnvoll.</p>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1557914</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1557914</guid><dc:creator><![CDATA[User123]]></dc:creator><pubDate>Sat, 02 Aug 2008 08:05:54 GMT</pubDate></item><item><title><![CDATA[Reply to List View Item aus Liste buffen? on Sat, 02 Aug 2008 09:45:35 GMT]]></title><description><![CDATA[<p>Was zum Teufel ist denn &quot;buffen&quot;?</p>
<p>Sowas wie &quot;progger&quot;?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1557955</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1557955</guid><dc:creator><![CDATA[EOP]]></dc:creator><pubDate>Sat, 02 Aug 2008 09:45:35 GMT</pubDate></item><item><title><![CDATA[Reply to List View Item aus Liste buffen? on Sat, 02 Aug 2008 10:57:21 GMT]]></title><description><![CDATA[<p>Also buffen geht mal überhaupt nicht, aber du kannst den Text auslesen. Dann machst du das mal einfach so wie MS das vorschlägt:</p>
<blockquote>
<p>LVM_GETITEMTEXT</p>
<p>LVM_GETITEMTEXT<br />
wParam = (WPARAM) (int) iItem;<br />
lParam = (LPARAM) (LPLVITEM) pitem;</p>
<p>Retrieves the text of a list view item or subitem. You can send this message explicitly or by using the ListView_GetItemText macro.</p>
<p>If you send this message explicitly, it returns the length of the retrieved string.<br />
If you can send this message implicitly by using the ListView_GetItemText macro, there is no return value.</p>
<p>iItem<br />
Index of the list view item.<br />
pitem<br />
Address of an LVITEM structure. The iSubItem member specifies the index of a subitem, or it can be zero to get the item label. <strong>The pszText member points to a buffer that receives the text</strong>, and <strong>the cchTextMax member specifies the size of the buffer</strong>.</p>
</blockquote>
<p>Zu beachten sind die von mir <strong>FETT</strong> markierten Passagen des Textes! Diese Angaben müssen vor dem Senden der Nachricht angegeben werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1557977</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1557977</guid><dc:creator><![CDATA[BigBuffer]]></dc:creator><pubDate>Sat, 02 Aug 2008 10:57:21 GMT</pubDate></item><item><title><![CDATA[Reply to List View Item aus Liste buffen? on Sat, 02 Aug 2008 20:21:19 GMT]]></title><description><![CDATA[<p>&quot;The pszText member points to a buffer that receives the text&quot; steht ja dort, d.h. zu deutsch es erhält den Text und darum kann man vorher auch keinen Wert angeben. Ich habe verstanden, Du wolltest, dass ich dort manuell etwas angebe.</p>
<p>Jedenfalls besteht mein Problem noch und bin alle mir bekannten Lösungen schon mehrmals durchgegangen. Könnte jemand mal eine kurze MessageBox-Anweisung formulieren mit der man den pszText ausgibt? Vielleicht mache ich ja einen Flüchtigkeitsfehler. Danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1558236</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1558236</guid><dc:creator><![CDATA[User123]]></dc:creator><pubDate>Sat, 02 Aug 2008 20:21:19 GMT</pubDate></item><item><title><![CDATA[Reply to List View Item aus Liste buffen? on Sat, 02 Aug 2008 21:48:16 GMT]]></title><description><![CDATA[<p>hier mal ein Beispiel:</p>
<pre><code class="language-cpp">void GetItemText(HWND hLVWnd, int itempos){

	char		buffer[128]
	LVITEM		lv_item;

	memset(&amp;lv_item, 0, sizeof(lv_item));
	memset(&amp;buffer, 0, sizeof(buffer));
	lv_item.pszText = buffer;
	lv_item.cchTextMax = sizeof(buffer);
	SendMessage(hLVWnd, LVM_GETITEMTEXT, itempos, (LPARAM)&amp;lv_item);
	MessageBox(hLVWnd, message, buffer, MB_OK | MB_ICONINFORMATION);
}
</code></pre>
<p>also ich habs jetzt nicht getestet und hoffe daß es geht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1558271</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1558271</guid><dc:creator><![CDATA[BiggerBuffer]]></dc:creator><pubDate>Sat, 02 Aug 2008 21:48:16 GMT</pubDate></item><item><title><![CDATA[Reply to List View Item aus Liste buffen? on Sun, 03 Aug 2008 00:01:37 GMT]]></title><description><![CDATA[<p>Vielen Dank. Es hatgeklappt. Mein Fehler war, dass ich pszText keinen Buffer zugewiesen habe, sondern davon ausging, dass pszText direkt auf den Textzeigt, aber es zeigt ja auf einen Buffer. Es ist auch ein Verhalten, dass ich das erste mal sehe, daher wirkt es sehr weit hergeholt. Zudem konnte man normalauch direkt eine Addresse von einem String zu weisen, was es nochmal merkwürdig macht. Aber nun gut, danke für die Hilfe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1558313</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1558313</guid><dc:creator><![CDATA[User123]]></dc:creator><pubDate>Sun, 03 Aug 2008 00:01:37 GMT</pubDate></item></channel></rss>