<?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 Column identifizieren]]></title><description><![CDATA[<p>Hi,</p>
<p>ich hab ein CListCtrl mit mehreren Spalten und Zeilen. Wenn ich nun rechtsklicke soll sich ein KontextMenu öffnen mit dem ich die Spalte umbenennen kann, leider habe ich Probleme die Spalte, bzw das SubItem zu identifizieren.<br />
(Für andere Vorschläge bin ich genauso froh, es muss nur darauf hinaus laufen das ich duch eine Benutzeraktion den Spaltenkopf umbenennen kann)</p>
<p>danke im vorraus</p>
<p>P.S. der teil des Quelletextes den es betrifft sieht in etwa so aus:</p>
<pre><code class="language-cpp">void CMyListCtrl_Excel::OnContextMenu(CWnd* pWnd, CPoint point) 
{
	CMenu menue;
	int* item = new int(HitTest(point));
	menue.LoadMenu(IDR_EXCEL_CONTEXT);
	menue.GetSubMenu(0)-&gt;TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,point.x,point.y,this);
}

void CMyListCtrl_Excel::OnExcelcontextPlatzhalter() 
{
	LPLVHITTESTINFO pInfo = NULL;
	n = SubItemHitTest(pInfo );
	LV_COLUMN col;
	col.pszText = &quot;Platzhalter&quot;;
	SetColumn(n,&amp;col);
}
</code></pre>
<p>n ist hierbei immer -1</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/120444/clistctrl-column-identifizieren</link><generator>RSS for Node</generator><lastBuildDate>Wed, 08 Apr 2026 22:23:11 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/120444.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 13 Sep 2005 11:59:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to CListCtrl Column identifizieren on Tue, 13 Sep 2005 12:02:00 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich hab ein CListCtrl mit mehreren Spalten und Zeilen. Wenn ich nun rechtsklicke soll sich ein KontextMenu öffnen mit dem ich die Spalte umbenennen kann, leider habe ich Probleme die Spalte, bzw das SubItem zu identifizieren.<br />
(Für andere Vorschläge bin ich genauso froh, es muss nur darauf hinaus laufen das ich duch eine Benutzeraktion den Spaltenkopf umbenennen kann)</p>
<p>danke im vorraus</p>
<p>P.S. der teil des Quelletextes den es betrifft sieht in etwa so aus:</p>
<pre><code class="language-cpp">void CMyListCtrl_Excel::OnContextMenu(CWnd* pWnd, CPoint point) 
{
	CMenu menue;
	int* item = new int(HitTest(point));
	menue.LoadMenu(IDR_EXCEL_CONTEXT);
	menue.GetSubMenu(0)-&gt;TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,point.x,point.y,this);
}

void CMyListCtrl_Excel::OnExcelcontextPlatzhalter() 
{
	LPLVHITTESTINFO pInfo = NULL;
	n = SubItemHitTest(pInfo );
	LV_COLUMN col;
	col.pszText = &quot;Platzhalter&quot;;
	SetColumn(n,&amp;col);
}
</code></pre>
<p>n ist hierbei immer -1</p>
]]></description><link>https://www.c-plusplus.net/forum/post/871015</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/871015</guid><dc:creator><![CDATA[Taelan]]></dc:creator><pubDate>Tue, 13 Sep 2005 12:02:00 GMT</pubDate></item><item><title><![CDATA[Reply to CListCtrl Column identifizieren on Wed, 14 Sep 2005 12:13:21 GMT]]></title><description><![CDATA[<p>Mal Schaun...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/871925</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/871925</guid><dc:creator><![CDATA[Unregistrierter]]></dc:creator><pubDate>Wed, 14 Sep 2005 12:13:21 GMT</pubDate></item><item><title><![CDATA[Reply to CListCtrl Column identifizieren on Wed, 14 Sep 2005 13:04:29 GMT]]></title><description><![CDATA[<p>ach genau, das hab ich inzwischen gelöst, obs elegant war ist die andere Frage aber so hab ichs gemacht:</p>
<pre><code>void CMyListCtrl_Excel::OnContextMenu(CWnd* pWnd, CPoint point) 
{
	int x = click.x;
	int y = click.y;
	TRACE(&quot;--&gt; %i %i&quot;,x,y);
	CHeaderCtrl* header = GetHeaderCtrl();
	CRect rect;
	int MaxCnt = header-&gt;GetItemCount();
	for (cnt=0;cnt&lt;MaxCnt;cnt++)
	{
		header-&gt;GetItemRect(cnt,&amp;rect);
 		if (rect.left &lt; x &amp;&amp; rect.right &gt;x)
 		{
 			CMenu menue;
 			menue.LoadMenu(IDR_EXCEL_CONTEXT);
 			menue.GetSubMenu(0)-&gt;TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,point.x,point.y,this);
			break;
 		}
 	}

}

void CMyListCtrl_Excel::OnExcelcontextPlatzhalter() 
{
	LVCOLUMN pColumn;
	GetColumn(cnt,&amp;pColumn);
	pColumn.pszText = &quot;Test&quot;;
	SetColumn(cnt,&amp;pColumn);
}

void CMyListCtrl_Excel::OnParentNotify(UINT message, LPARAM lParam) 
{
	CListCtrl::OnParentNotify(message, lParam);
	WORD x,y;
	y = lParam &gt;&gt; 16;
	x = lParam &amp; 0xFFFF;
	click.x = x;
	click.y = y;
}
</code></pre>
<p>ich hab in dem Code noch nicht aufgeräumt kann also sein das da noch das eine oder andere überflüssige drin ist <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/871996</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/871996</guid><dc:creator><![CDATA[Taelan]]></dc:creator><pubDate>Wed, 14 Sep 2005 13:04:29 GMT</pubDate></item><item><title><![CDATA[Reply to CListCtrl Column identifizieren on Wed, 07 Nov 2007 10:36:28 GMT]]></title><description><![CDATA[<p>Falls noch wer wie ich auf diesen älteren Thread hier stösst, und dieselbe Problemstellung hat. Mit der Ausgabe vom Menü bin ich so viel besser klargekommen:</p>
<pre><code class="language-cpp">RECT rect;
this-&gt;GetWindowRect(&amp;rect);

CMenu menue;
menue.LoadMenu(Menüname);
menue.GetSubMenu(0)-&gt;TrackPopupMenu(TPM_LEFTALIGN,rect.left+point.x,rect.top+point.y,this);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1398993</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1398993</guid><dc:creator><![CDATA[dawa85]]></dc:creator><pubDate>Wed, 07 Nov 2007 10:36:28 GMT</pubDate></item><item><title><![CDATA[Reply to CListCtrl Column identifizieren on Wed, 07 Nov 2007 12:44:23 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">LPLVHITTESTINFO pInfo = NULL; 
 n = SubItemHitTest(pInfo );
</code></pre>
<p>Da sist doch auch Blödsinn.</p>
<p>Fülle die entsprechende Struktur LVHITTESTINFO aus und übergib den Zeiger, dann bekommst Du auch ein Ergebnis.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1399114</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1399114</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Wed, 07 Nov 2007 12:44:23 GMT</pubDate></item></channel></rss>