<?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[Pointer auf CListCtrl]]></title><description><![CDATA[<p>Hallo,<br />
ich versuche bei einer Auswahl eines Elementes aus einem CTreeCtrl automatisch den aktuell ausgewählten Datensatz anzeigen zu lassen.<br />
Ich weiß nicht, wie ich einen Zeiger auf das CListCtrl bekomme. Habe schon einige Zeit gelesen. Aber ich komm damit nicht wirklich weiter.<br />
Dieser Pointer wird dann an die Funktion TabelleAnzeigen übergeben. Diese funktioniert, weil sie an einer anderen Stelle während der Initialisierung aufgerufen wird und das macht was sie machen soll.</p>
<pre><code class="language-cpp">void CLeftView::OnClick(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Code für die Behandlungsroutine der Steuerelement-Benachrichtigung hier einfügen

	*pResult = 0;
	int i,n;
	HTREEITEM nodSelected;
	CString strSelected;

	HTREEITEM nodParent;
	CString strParent;
	CString filepath;
	string filename;

         // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	// Pointer auf ViewControl mit Namen ctrlList
         // Geht nicht !
         // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++

	// Referenz auf TreeControl
	CTreeCtrl &amp;ctrlTree = this-&gt;GetTreeCtrl();

	//Ausgewählten Eintrag ermitteln
	nodSelected = ctrlTree.GetSelectedItem();

	//Dateinamen auslesen
	strSelected = ctrlTree.GetItemText(nodSelected);

	strParent = &quot;/&quot;;
	for(i=0;strParent.IsEmpty()==0;i++)
	{
		if(i==0) 
		{
			nodParent = ctrlTree.GetParentItem(nodSelected);
			strParent = ctrlTree.GetItemText(nodParent);
			filepath = strSelected;
		}
		else 
		{
			nodParent = ctrlTree.GetParentItem(nodParent);
			strParent = ctrlTree.GetItemText(nodParent);

			if(strcmp(strParent,&quot;IGBT&quot;)) n = 0;
			if(strcmp(strParent,&quot;Kühlkörper&quot;)) n = 1;			
		}
		filepath = strParent + &quot;/&quot; + filepath;
	}	
	filepath = &quot;./Projekt&quot; + filepath;
	filename = filepath;

	Ausgabe View(filename.c_str());
	View.Auslesen(n);
	View.TabelleAnzeigen(ctrlList,n);	
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/183472/pointer-auf-clistctrl</link><generator>RSS for Node</generator><lastBuildDate>Wed, 15 Apr 2026 02:22:18 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/183472.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 05 Jun 2007 10:48:53 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Pointer auf CListCtrl on Tue, 05 Jun 2007 10:48:53 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich versuche bei einer Auswahl eines Elementes aus einem CTreeCtrl automatisch den aktuell ausgewählten Datensatz anzeigen zu lassen.<br />
Ich weiß nicht, wie ich einen Zeiger auf das CListCtrl bekomme. Habe schon einige Zeit gelesen. Aber ich komm damit nicht wirklich weiter.<br />
Dieser Pointer wird dann an die Funktion TabelleAnzeigen übergeben. Diese funktioniert, weil sie an einer anderen Stelle während der Initialisierung aufgerufen wird und das macht was sie machen soll.</p>
<pre><code class="language-cpp">void CLeftView::OnClick(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Code für die Behandlungsroutine der Steuerelement-Benachrichtigung hier einfügen

	*pResult = 0;
	int i,n;
	HTREEITEM nodSelected;
	CString strSelected;

	HTREEITEM nodParent;
	CString strParent;
	CString filepath;
	string filename;

         // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	// Pointer auf ViewControl mit Namen ctrlList
         // Geht nicht !
         // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++

	// Referenz auf TreeControl
	CTreeCtrl &amp;ctrlTree = this-&gt;GetTreeCtrl();

	//Ausgewählten Eintrag ermitteln
	nodSelected = ctrlTree.GetSelectedItem();

	//Dateinamen auslesen
	strSelected = ctrlTree.GetItemText(nodSelected);

	strParent = &quot;/&quot;;
	for(i=0;strParent.IsEmpty()==0;i++)
	{
		if(i==0) 
		{
			nodParent = ctrlTree.GetParentItem(nodSelected);
			strParent = ctrlTree.GetItemText(nodParent);
			filepath = strSelected;
		}
		else 
		{
			nodParent = ctrlTree.GetParentItem(nodParent);
			strParent = ctrlTree.GetItemText(nodParent);

			if(strcmp(strParent,&quot;IGBT&quot;)) n = 0;
			if(strcmp(strParent,&quot;Kühlkörper&quot;)) n = 1;			
		}
		filepath = strParent + &quot;/&quot; + filepath;
	}	
	filepath = &quot;./Projekt&quot; + filepath;
	filename = filepath;

	Ausgabe View(filename.c_str());
	View.Auslesen(n);
	View.TabelleAnzeigen(ctrlList,n);	
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1299175</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1299175</guid><dc:creator><![CDATA[etsmart]]></dc:creator><pubDate>Tue, 05 Jun 2007 10:48:53 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer auf CListCtrl on Tue, 05 Jun 2007 11:27:21 GMT]]></title><description><![CDATA[<p>Normalerweise bautman die Views so, dass sie nichts voneinader wissen. Du kannst über UpdateAllViews die entsprechenden Informationen aus einem View an alle anderen Views verteilen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1299208</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1299208</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Tue, 05 Jun 2007 11:27:21 GMT</pubDate></item></channel></rss>