<?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[CListCtrl: Bei Klick Zeile und Spalte rausfinden - wie?]]></title><description><![CDATA[<p>Moin!</p>
<p>Ich habe ein Listcontrol und möchte beim Klick darauf abfragen, wo geklickt wurde.<br />
Die Zeile finde ich so raus: <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39110.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-39110.html</a></p>
<pre><code class="language-cpp">void CSortListCtrl::OnLButtonDblClk(UINT nFlags, CPoint point) 
{
	POSITION pos = GetFirstSelectedItemPosition();
	int indexnummer= GetNextSelectedItem(pos); 

	CListCtrl::OnLButtonDblClk(nFlags, point);
}
</code></pre>
<p>Allerdings möchte ich <strong>auch Klicks in den Header</strong> wissen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/26a0.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--warning"
      title=":warning:"
      alt="⚠"
    /><br />
Und natürlich fehlt mir generell noch, in welche Spalte geklickt wurde.</p>
<p>Ich bin für jeden Ansatz dankbar, auch Links. <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/170530/clistctrl-bei-klick-zeile-und-spalte-rausfinden-wie</link><generator>RSS for Node</generator><lastBuildDate>Tue, 28 Apr 2026 05:14:47 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/170530.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 17 Jan 2007 08:12:41 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to CListCtrl: Bei Klick Zeile und Spalte rausfinden - wie? on Wed, 17 Jan 2007 08:12:41 GMT]]></title><description><![CDATA[<p>Moin!</p>
<p>Ich habe ein Listcontrol und möchte beim Klick darauf abfragen, wo geklickt wurde.<br />
Die Zeile finde ich so raus: <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39110.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-39110.html</a></p>
<pre><code class="language-cpp">void CSortListCtrl::OnLButtonDblClk(UINT nFlags, CPoint point) 
{
	POSITION pos = GetFirstSelectedItemPosition();
	int indexnummer= GetNextSelectedItem(pos); 

	CListCtrl::OnLButtonDblClk(nFlags, point);
}
</code></pre>
<p>Allerdings möchte ich <strong>auch Klicks in den Header</strong> wissen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/26a0.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--warning"
      title=":warning:"
      alt="⚠"
    /><br />
Und natürlich fehlt mir generell noch, in welche Spalte geklickt wurde.</p>
<p>Ich bin für jeden Ansatz dankbar, auch Links. <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/1211135</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1211135</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Wed, 17 Jan 2007 08:12:41 GMT</pubDate></item><item><title><![CDATA[Reply to CListCtrl: Bei Klick Zeile und Spalte rausfinden - wie? on Wed, 17 Jan 2007 08:16:14 GMT]]></title><description><![CDATA[<p>Das Headercontrol sendet seine Notifications an das CListCtrl. Du musst also das CListCtrl subclassen. Dort kannst Du HDN_ITEMCLICK abfangen und bearbeiten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1211140</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1211140</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Wed, 17 Jan 2007 08:16:14 GMT</pubDate></item><item><title><![CDATA[Reply to CListCtrl: Bei Klick Zeile und Spalte rausfinden - wie? on Wed, 17 Jan 2007 08:22:58 GMT]]></title><description><![CDATA[<p>Ein kurzer Blick in die MSDN hat die Methode 'SubItemHitTest()' als Kandidaten ausfindig gemacht:</p>
<pre><code class="language-cpp">LVHITTESTINFO inf;
inf.pt=point;//zu testende Koordinaten
SubItemHitTest(&amp;inf);
int index=inf.iTtem;
int sub =inf.iSubItem;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1211148</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1211148</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 17 Jan 2007 08:22:58 GMT</pubDate></item><item><title><![CDATA[Reply to CListCtrl: Bei Klick Zeile und Spalte rausfinden - wie? on Wed, 17 Jan 2007 08:26:41 GMT]]></title><description><![CDATA[<p>Ahja. Okay danke ich guck mir das mal an. <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/1211153</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1211153</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Wed, 17 Jan 2007 08:26:41 GMT</pubDate></item><item><title><![CDATA[Reply to CListCtrl: Bei Klick Zeile und Spalte rausfinden - wie? on Wed, 17 Jan 2007 10:02:55 GMT]]></title><description><![CDATA[<p>Ha, ich hab es - mit Trick 17, aber es klappt:</p>
<pre><code class="language-cpp">void CBasisListCtrl::HitTestEx(CPoint&amp; f_Point, int&amp; f_nRow, int&amp; f_nColumn) 
{
	ScreenToClient(&amp;f_Point);

	LVHITTESTINFO inf;
	inf.pt = f_Point; //zu testende Koordinaten
	SubItemHitTest(&amp;inf);

	// Im Header?
	CRect rect;
	GetHeaderCtrl()-&gt;GetWindowRect(&amp;rect);
	ScreenToClient(&amp;rect);
	if (PtInRect(&amp;rect, f_Point))
	{
		f_nRow = -1;
	}
	else
	{
		// Rest
		f_nRow = inf.iItem;
	}

	f_nColumn = inf.iSubItem;
}
</code></pre>
<p>Diese Funktion wird immer dann aufgerufen, wenn das Kontextmenü angezeigt wird.<br />
Das geht, weil der Befehl, wo ich die Koordinaten brauche, nur aus dem Kontextmenü aufrufbar ist.</p>
<pre><code class="language-cpp">void CBasisListCtrl::OnContextMenu(CWnd* pWnd, CPoint point) 
{
    CMenu menu; 
    // Kontextmenü laden 
    menu.LoadMenu(IDR_MNU_KTXT); 
    // Welches Untermenü 
    CMenu * pContextMenu = menu.GetSubMenu(m_nKtxtMnuIdx); 

    // Kontextmenü anzeigen 
    pContextMenu-&gt;TrackPopupMenu(TPM_LEFTALIGN + TPM_RIGHTBUTTON, point.x, point.y, this);//AfxGetMainWnd()); 	

	HitTestEx(point, m_nRow, m_nCol);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1211221</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1211221</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Wed, 17 Jan 2007 10:02:55 GMT</pubDate></item></channel></rss>