<?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] Doppelklick auf Eintrag bemerken]]></title><description><![CDATA[<p>Auch wenn ich das alte Problem noch nicht gelöst habe, hier noch ein neues: Ich möchte, immer wen das Item gewechselt wird, den dazu passenden Inhalt laden. Mein Ansatz:</p>
<pre><code class="language-cpp">case WM_NOTIFY:
    switch (((LPNMHDR) lParam)-&gt;code)
    {
        case LVN_ITEMCHANGING:
            if ((UINT) (((NM_LISTVIEW FAR *) lParam)-&gt;hdr.code) == NM_CLICK)
                SetWindowText (hClientGroupBox, &quot;Item wurde geklickt&quot;);
        break;
    }
return 0;
</code></pre>
<p>Also die Nachricht LVN_ITEMCHANGING wird gesendet, allerdings hat er irgendein Problem mit der if-Anweisung, ich weiß bloß nicht welches...</p>
<p>DIV Ominion</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/193927/listview-doppelklick-auf-eintrag-bemerken</link><generator>RSS for Node</generator><lastBuildDate>Tue, 30 Jun 2026 05:50:29 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/193927.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 01 Oct 2007 19:44:05 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [ListView] Doppelklick auf Eintrag bemerken on Mon, 01 Oct 2007 19:44:50 GMT]]></title><description><![CDATA[<p>Auch wenn ich das alte Problem noch nicht gelöst habe, hier noch ein neues: Ich möchte, immer wen das Item gewechselt wird, den dazu passenden Inhalt laden. Mein Ansatz:</p>
<pre><code class="language-cpp">case WM_NOTIFY:
    switch (((LPNMHDR) lParam)-&gt;code)
    {
        case LVN_ITEMCHANGING:
            if ((UINT) (((NM_LISTVIEW FAR *) lParam)-&gt;hdr.code) == NM_CLICK)
                SetWindowText (hClientGroupBox, &quot;Item wurde geklickt&quot;);
        break;
    }
return 0;
</code></pre>
<p>Also die Nachricht LVN_ITEMCHANGING wird gesendet, allerdings hat er irgendein Problem mit der if-Anweisung, ich weiß bloß nicht welches...</p>
<p>DIV Ominion</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1376190</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1376190</guid><dc:creator><![CDATA[Ominion]]></dc:creator><pubDate>Mon, 01 Oct 2007 19:44:50 GMT</pubDate></item><item><title><![CDATA[Reply to [ListView] Doppelklick auf Eintrag bemerken on Mon, 01 Oct 2007 21:46:03 GMT]]></title><description><![CDATA[<p>Versteh den ansatz nicht. Entweder du machst dein SetWindowText beim Click<br />
z.B. so</p>
<pre><code>case WM_NOTIFY:
			lpnmhdr = (LPNMHDR)lParam;
			//Rechtsklick auf ListView
			if(lpnmhdr-&gt;hwndFrom == GetDlgItem(hDlg, IDC_LIST) &amp;&amp; lpnmhdr-&gt;code == NM_RCLICK)
</code></pre>
<p>Oder du machst es bei der Nachricht LVN_ITEMCHANGING. Aber wieso willst du beides auswerten? Macht doch kein sinn! Oder hab ich dich jetzt nicht verstanden?</p>
<p>schirrmie</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1376252</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1376252</guid><dc:creator><![CDATA[schirrmie]]></dc:creator><pubDate>Mon, 01 Oct 2007 21:46:03 GMT</pubDate></item><item><title><![CDATA[Reply to [ListView] Doppelklick auf Eintrag bemerken on Tue, 02 Oct 2007 07:38:35 GMT]]></title><description><![CDATA[<p>hmmm...ich überprüfe das mal kurz, dann sag ichs dir...</p>
<p>Mfg Ominion</p>
<p>EDIT: an und für sich schon richtig, aber ich wollte das abfangen, damit das item nur gewechselt wird, wenn ein Doppelklick darauf gemacht wird. Das ganze soll ein Serverprogramm werden und im ListView sollen eben die Clients stehen. Wenn man einen auswählt, dann soll man mit dem chatten können, und gucken welche Dateien er gerade sendet bzw empfängt. Das soll man dann unterbrechen bzw, selbst abzweigen können.</p>
<p>Mfg Ominion</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1376313</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1376313</guid><dc:creator><![CDATA[Ominion]]></dc:creator><pubDate>Tue, 02 Oct 2007 07:38:35 GMT</pubDate></item><item><title><![CDATA[Reply to [ListView] Doppelklick auf Eintrag bemerken on Tue, 02 Oct 2007 08:36:21 GMT]]></title><description><![CDATA[<p>Hinweis: LVN_ITEMCHANGING wird bei jeder (<em><strong>jeder</strong></em>) Änderung eines Items versendet. Was sich geändert hat muss man in der Struktur ansehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1376353</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1376353</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Tue, 02 Oct 2007 08:36:21 GMT</pubDate></item><item><title><![CDATA[Reply to [ListView] Doppelklick auf Eintrag bemerken on Tue, 02 Oct 2007 11:37:29 GMT]]></title><description><![CDATA[<p>ja und das hatte ich probiert (oben im code). hat aber nicht funktioniert. Mit dem Code wollte ich prüfen, das wenn ein dabei ist sich zu ändern, und das über einen Doppelklick geschieht, es sich ändern kann, ansonsten will ich das irgendwie unterdrücken.</p>
<p>Mfg Ominion</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1376358</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1376358</guid><dc:creator><![CDATA[Ominion]]></dc:creator><pubDate>Tue, 02 Oct 2007 11:37:29 GMT</pubDate></item><item><title><![CDATA[Reply to [ListView] Doppelklick auf Eintrag bemerken on Tue, 02 Oct 2007 09:07:50 GMT]]></title><description><![CDATA[<p>Was ändert sich bei einem Doppelklick?<br />
In LVN_ITEMCHANGEING kannnst Du nicht feststellen was die Ursache der Änderung ist.</p>
<p>Besser Doppelklick entsprechend behandeln bzwe. ignorieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1376370</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1376370</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Tue, 02 Oct 2007 09:07:50 GMT</pubDate></item><item><title><![CDATA[Reply to [ListView] Doppelklick auf Eintrag bemerken on Tue, 02 Oct 2007 09:17:34 GMT]]></title><description><![CDATA[<p>Der Focus ändert sich. Der soll sich eben nur ändern, wenn ein Item doppelt angeklickt wurde.</p>
<p>Mfg Ominion</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1376379</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1376379</guid><dc:creator><![CDATA[Ominion]]></dc:creator><pubDate>Tue, 02 Oct 2007 09:17:34 GMT</pubDate></item><item><title><![CDATA[Reply to [ListView] Doppelklick auf Eintrag bemerken on Tue, 02 Oct 2007 09:31:47 GMT]]></title><description><![CDATA[<p>Was ist das für ein unsinniges Verhalten?</p>
<p>BTW: Solche Abweichungen in der UI empfinde ich immer als äußerst lästig für einen Nutzer.</p>
<p>BTW2: Die Doppelklick Nachricht ist nur eine ZUsatznachricht die immer die normale Aktion des einfachen Klicks einbezieht. D.h. Es gibt ekien Doppelklick Nachricht ohne eine vorherige normale Klick Nachricht...<br />
Deshalb wird die Selektionsänderung im einfachne Klick vollzogen.</p>
<p>Ansonsten musst Du es eben alles per Hand machen. LButtonDown ignorieren und alles in DoubleClick selber machen. Aber was denkt denn ein User der klickt uns es passiert nichts... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_down"
      title=":-1:"
      alt="👎"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1376392</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1376392</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Tue, 02 Oct 2007 09:31:47 GMT</pubDate></item><item><title><![CDATA[Reply to [ListView] Doppelklick auf Eintrag bemerken on Tue, 02 Oct 2007 09:49:03 GMT]]></title><description><![CDATA[<p>Da passiert schon etws, aber eben nur beim Doppelklick...soll zumindest...ich finde das auch gar nicht schwachsinnig, das erspart dem user beim ausversehen-reinklicken die ladezeit der infos, die er ja gar nicht haben will, und wenn doch, ein Doppelklick sollte genügen...</p>
<p>Mfg Ominion</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1376406</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1376406</guid><dc:creator><![CDATA[Ominion]]></dc:creator><pubDate>Tue, 02 Oct 2007 09:49:03 GMT</pubDate></item><item><title><![CDATA[Reply to [ListView] Doppelklick auf Eintrag bemerken on Tue, 02 Oct 2007 11:35:52 GMT]]></title><description><![CDATA[<p>Dann würde ich ein Delay einbauen zwischen dem Ändern der Selektion und dem Laden. Dann kann der User Hinklicken und sich Verklicken. Nach 500ms schließlich wird die Selelktion aktiv...</p>
<p>Weitaus konformer!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1376472</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1376472</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Tue, 02 Oct 2007 11:35:52 GMT</pubDate></item><item><title><![CDATA[Reply to [ListView] Doppelklick auf Eintrag bemerken on Tue, 02 Oct 2007 11:38:49 GMT]]></title><description><![CDATA[<p>Ok, das werde ich mal probieren, danke!</p>
<p>Mfg Ominion</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1376475</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1376475</guid><dc:creator><![CDATA[Ominion]]></dc:creator><pubDate>Tue, 02 Oct 2007 11:38:49 GMT</pubDate></item><item><title><![CDATA[Reply to [ListView] Doppelklick auf Eintrag bemerken on Tue, 02 Oct 2007 12:36:03 GMT]]></title><description><![CDATA[<p>Das gehört zwar nicht zu dieser Frage, aber ich wollte nicht schon wieder ein neues Thema eröffnen:<br />
Ich habe jetzt wie folgt einen Click ausgewertet:</p>
<pre><code class="language-cpp">case NM_CLICK:
    #define nml     ((NM_LISTVIEW FAR *) lParam)
    LV_ITEM lvi;

    char lpItemContent[MAX_PATH];

    lvi.mask = LVIF_TEXT | LVIF_PARAM;
    lvi.iItem = ListView_GetSelectionMark (hClientListView);
    lvi.iSubItem = 0;
    lvi.pszText = lpItemContent;
    lvi.cchTextMax = MAX_PATH;

    ListView_GetItem (hClientListView, &amp;lvi);

    SetWindowText (hClientGroupBox, lpItemContent);
    #undef nml
break;
</code></pre>
<p>funktioniert an sich wunderbar, der markierte Eintrag wird auch in hClientGroupBox geschrieben bloß nicht immer! Wenn ich z.B schnell draufklicke, und schnell das ListView verlasse (EDIT: oder beim klicken einfach nur die Maus bewege), ändert sich nichts am Text. Gibt es eine mehr oder weniger todsichere Methode, wie sich der Text unabhängig von irgendwas (außer dem Klick) ändert?</p>
<p>Mfg Ominion</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1376517</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1376517</guid><dc:creator><![CDATA[Ominion]]></dc:creator><pubDate>Tue, 02 Oct 2007 12:36:03 GMT</pubDate></item><item><title><![CDATA[Reply to [ListView] Doppelklick auf Eintrag bemerken on Tue, 02 Oct 2007 13:09:39 GMT]]></title><description><![CDATA[<p>Es besteht ja auch die Möglichkeit, dass nichts selektiert ist. Das behandelst Du nicht...</p>
<p>Desweiteren verwende ich ungern NM_CLICK.</p>
<p>Alleine dieser Zusatz der Doku verleidet esmir:<br />
The iItem member of lpnmitem will only be valid if the icon or first-column label has been clicked. To determine which item is selected when a click takes place elsewhere in a row, send an LVM_SUBITEMHITTEST message.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1376551</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1376551</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Tue, 02 Oct 2007 13:09:39 GMT</pubDate></item><item><title><![CDATA[Reply to [ListView] Doppelklick auf Eintrag bemerken on Tue, 02 Oct 2007 15:25:48 GMT]]></title><description><![CDATA[<p>da gibt es gar kein problem, mein listview hat nur eine spalte! und mit den nichts selektiert habe ich beachtet, es ändert aber nichts.</p>
<p>Mfg Ominion</p>
<p>EDIT: ich werde das übermorgen mal testen (habe das projekt auf arbeit vergessen)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1376693</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1376693</guid><dc:creator><![CDATA[Ominion]]></dc:creator><pubDate>Tue, 02 Oct 2007 15:25:48 GMT</pubDate></item></channel></rss>