<?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[Fensterwechseln mittels CTreeCtrl]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>habe da mal wieder eine Frage,<br />
in meiner SDI Anwendung wechsle ich die Fenster mittels einem Splitter, der in dem einen Bereich einen CTreeCtrl hat und in dem anderen wird ein SwitchToView aufgerufen.<br />
Soweit funktioniert es auch, nur bekomme ich jetzt langsam Probleme, wenn ich meine Navigation (CTreeCtrl) Dynamisch halten möchte.</p>
<p>Da gibt es bestimmt eine bessere Lösung ??</p>
<pre><code class="language-cpp">// In der Header Datei (.h)
HTREEITEM  m_Liste_1;
HTREEITEM  m_Liste_2;
HTREEITEM  m_Liste_21[100];
HTREEITEM  m_Liste_22[100];
HTREEITEM  m_Liste_23[100];

// In der .cpp Datei
void CNaviView::OnSelchanged(NMHDR* pNMHDR, LRESULT* pResult) 
{
	NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;

	UINT	    nView         = 0;
	HTREEITEM hSelectedItem = GetTreeCtrl().GetSelectedItem();

	m_strServerName = GetTreeCtrl().GetItemText(hSelectedItem);

	if (hSelectedItem == m_Liste_1)
	{
		// nView = VIEW_HOME;
		nView = 1;
	}

	USHORT IntegerArrayLenght;
	IntegerArrayLenght = sizeof(m_Liste_21)/sizeof(m_Liste_21[0]);
	for(int i = 0 ; i != IntegerArrayLenght; i++)
	{
		if (hSelectedItem == m_Liste_22[i])
		{
			m_strServerName = GetTreeCtrl().GetItemText(m_Liste_21[i]);			
			// nView = VIEW_LIZENZ;
			nView = 2;
		}
		if (hSelectedItem == m_Liste_23[i])
		{
			m_strServerName2 = GetTreeCtrl().GetItemText(m_Liste_21[i]);			
			// nView = VIEW_BENUTZER;
			nView = 3;
		}
	}

	if (nView)
	{
		m_pAnsichtRechts-&gt;SwitchToView(nView);
	}
	*pResult = 0;
}
</code></pre>
<p>Gruß<br />
andy_mann</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/78232/fensterwechseln-mittels-ctreectrl</link><generator>RSS for Node</generator><lastBuildDate>Wed, 22 Apr 2026 01:34:20 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/78232.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 29 Jun 2004 13:48:25 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Fensterwechseln mittels CTreeCtrl on Tue, 29 Jun 2004 13:48:25 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>habe da mal wieder eine Frage,<br />
in meiner SDI Anwendung wechsle ich die Fenster mittels einem Splitter, der in dem einen Bereich einen CTreeCtrl hat und in dem anderen wird ein SwitchToView aufgerufen.<br />
Soweit funktioniert es auch, nur bekomme ich jetzt langsam Probleme, wenn ich meine Navigation (CTreeCtrl) Dynamisch halten möchte.</p>
<p>Da gibt es bestimmt eine bessere Lösung ??</p>
<pre><code class="language-cpp">// In der Header Datei (.h)
HTREEITEM  m_Liste_1;
HTREEITEM  m_Liste_2;
HTREEITEM  m_Liste_21[100];
HTREEITEM  m_Liste_22[100];
HTREEITEM  m_Liste_23[100];

// In der .cpp Datei
void CNaviView::OnSelchanged(NMHDR* pNMHDR, LRESULT* pResult) 
{
	NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;

	UINT	    nView         = 0;
	HTREEITEM hSelectedItem = GetTreeCtrl().GetSelectedItem();

	m_strServerName = GetTreeCtrl().GetItemText(hSelectedItem);

	if (hSelectedItem == m_Liste_1)
	{
		// nView = VIEW_HOME;
		nView = 1;
	}

	USHORT IntegerArrayLenght;
	IntegerArrayLenght = sizeof(m_Liste_21)/sizeof(m_Liste_21[0]);
	for(int i = 0 ; i != IntegerArrayLenght; i++)
	{
		if (hSelectedItem == m_Liste_22[i])
		{
			m_strServerName = GetTreeCtrl().GetItemText(m_Liste_21[i]);			
			// nView = VIEW_LIZENZ;
			nView = 2;
		}
		if (hSelectedItem == m_Liste_23[i])
		{
			m_strServerName2 = GetTreeCtrl().GetItemText(m_Liste_21[i]);			
			// nView = VIEW_BENUTZER;
			nView = 3;
		}
	}

	if (nView)
	{
		m_pAnsichtRechts-&gt;SwitchToView(nView);
	}
	*pResult = 0;
}
</code></pre>
<p>Gruß<br />
andy_mann</p>
]]></description><link>https://www.c-plusplus.net/forum/post/549828</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/549828</guid><dc:creator><![CDATA[andy_mann]]></dc:creator><pubDate>Tue, 29 Jun 2004 13:48:25 GMT</pubDate></item></channel></rss>