<?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[paar CTreeCtrl Probleme]]></title><description><![CDATA[<p>Hallo, ich hab ein MDI Fenster mit einem Tree drin und paar Problemen<br />
<strong>1. Problem</strong><br />
ich bekomm es nicht hin, dass es beim klick auf die Linke Maustaste was massiert. Habe es schon mit OnSelchanged und OnLButtonDown und paar anderen versucht. Es kommt auch kein Fehler, das Programm startet reagiert aber nicht auf die Linke Maustaste.</p>
<pre><code class="language-cpp">BEGIN_MESSAGE_MAP(MyExplorer, CGuiControlBar)
	ON_WM_LBUTTONDOWN()
	ON_NOTIFY_REFLECT(NM_RCLICK, OnRClick)
	ON_WM_CONTEXTMENU()
	...
END_MESSAGE_MAP()
</code></pre>
<p>auf die rechte läuft es.</p>
<p><strong>2. Problem</strong><br />
bei dem rechten Mausklick geht das Menü auf, es wird aber nicht das angeklickte Item ausgewählt sondern immer 2 Items tiefer also das dritte, wenn man den letzen und vorletzten anklickt, passiert nicht, woran liegt es, und wie kann ich es lösen)</p>
<pre><code class="language-cpp">void MyExplorer::OnRClick(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// Send WM_CONTEXTMENU to self
	SendMessage(WM_CONTEXTMENU, (WPARAM) m_hWnd, GetMessagePos());
	// Mark message as handled and suppress default handling
	*pResult = 1;
}

void MyExplorer::OnContextMenu(CWnd* pWnd, CPoint ptMousePos) 
{
	// if Shift-F10
	if (ptMousePos.x == -1 &amp;&amp; ptMousePos.y == -1)
		ptMousePos = (CPoint) GetMessagePos();

	ScreenToClient(&amp;ptMousePos);

	UINT uFlags;
	HTREEITEM htItem = m_TreeMyExplorer.HitTest( ptMousePos, &amp;uFlags );

	if( htItem == NULL )
		return;

	CString szItem = m_TreeMyExplorer.GetItemText(htItem); 
	AfxMessageBox(szItem);
...
}
</code></pre>
<p><strong>3. Problem</strong><br />
ich kann bei mit den Text (Label) editieren, mache ich mit EditLabel, aber ich kann ich nach dem ich &lt;Enter&gt; gedrückt habe den neuen Namen vergeben?<br />
PreTranslateMessage ist drin und reagiert auch auf VK_RETURN, aber ich weiß nicht wie den neuen Namen auslesen soll?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/147718/paar-ctreectrl-probleme</link><generator>RSS for Node</generator><lastBuildDate>Sat, 18 Jul 2026 19:24:19 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/147718.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 19 May 2006 11:22:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to paar CTreeCtrl Probleme on Fri, 19 May 2006 11:22:57 GMT]]></title><description><![CDATA[<p>Hallo, ich hab ein MDI Fenster mit einem Tree drin und paar Problemen<br />
<strong>1. Problem</strong><br />
ich bekomm es nicht hin, dass es beim klick auf die Linke Maustaste was massiert. Habe es schon mit OnSelchanged und OnLButtonDown und paar anderen versucht. Es kommt auch kein Fehler, das Programm startet reagiert aber nicht auf die Linke Maustaste.</p>
<pre><code class="language-cpp">BEGIN_MESSAGE_MAP(MyExplorer, CGuiControlBar)
	ON_WM_LBUTTONDOWN()
	ON_NOTIFY_REFLECT(NM_RCLICK, OnRClick)
	ON_WM_CONTEXTMENU()
	...
END_MESSAGE_MAP()
</code></pre>
<p>auf die rechte läuft es.</p>
<p><strong>2. Problem</strong><br />
bei dem rechten Mausklick geht das Menü auf, es wird aber nicht das angeklickte Item ausgewählt sondern immer 2 Items tiefer also das dritte, wenn man den letzen und vorletzten anklickt, passiert nicht, woran liegt es, und wie kann ich es lösen)</p>
<pre><code class="language-cpp">void MyExplorer::OnRClick(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// Send WM_CONTEXTMENU to self
	SendMessage(WM_CONTEXTMENU, (WPARAM) m_hWnd, GetMessagePos());
	// Mark message as handled and suppress default handling
	*pResult = 1;
}

void MyExplorer::OnContextMenu(CWnd* pWnd, CPoint ptMousePos) 
{
	// if Shift-F10
	if (ptMousePos.x == -1 &amp;&amp; ptMousePos.y == -1)
		ptMousePos = (CPoint) GetMessagePos();

	ScreenToClient(&amp;ptMousePos);

	UINT uFlags;
	HTREEITEM htItem = m_TreeMyExplorer.HitTest( ptMousePos, &amp;uFlags );

	if( htItem == NULL )
		return;

	CString szItem = m_TreeMyExplorer.GetItemText(htItem); 
	AfxMessageBox(szItem);
...
}
</code></pre>
<p><strong>3. Problem</strong><br />
ich kann bei mit den Text (Label) editieren, mache ich mit EditLabel, aber ich kann ich nach dem ich &lt;Enter&gt; gedrückt habe den neuen Namen vergeben?<br />
PreTranslateMessage ist drin und reagiert auch auf VK_RETURN, aber ich weiß nicht wie den neuen Namen auslesen soll?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1060841</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1060841</guid><dc:creator><![CDATA[CPP_Dau]]></dc:creator><pubDate>Fri, 19 May 2006 11:22:57 GMT</pubDate></item><item><title><![CDATA[Reply to paar CTreeCtrl Probleme on Fri, 19 May 2006 16:55:02 GMT]]></title><description><![CDATA[<p>braucht ihr mehr informationen?<br />
ich komm echt nicht weiter</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1061153</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1061153</guid><dc:creator><![CDATA[CPP_Dau]]></dc:creator><pubDate>Fri, 19 May 2006 16:55:02 GMT</pubDate></item><item><title><![CDATA[Reply to paar CTreeCtrl Probleme on Sat, 20 May 2006 03:20:47 GMT]]></title><description><![CDATA[<p>Probier mal so was in der Art zum Testen:</p>
<pre><code class="language-cpp">void C...Dlg::OnSelchangedTree1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;

	HTREEITEM ht = m_TreeCtrl.GetSelectedItem();
	//m_TreeCtrl.InsertItem(&quot;Element&quot;,0,0,ht,TVI_LAST);

	TVITEM curItem;
	curItem.mask= TVIF_HANDLE;
	curItem.hItem= ht;
	m_TreeCtrl.GetItem(&amp;curItem);

	curItem.mask= TVIF_STATE;
	curItem.state= TVIS_EXPANDPARTIAL;
	curItem.stateMask= TVIS_EXPANDPARTIAL;
	m_TreeCtrl.SetItem(&amp;curItem);

	*pResult = 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1061339</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1061339</guid><dc:creator><![CDATA[Erhard Henkes]]></dc:creator><pubDate>Sat, 20 May 2006 03:20:47 GMT</pubDate></item><item><title><![CDATA[Reply to paar CTreeCtrl Probleme on Sat, 20 May 2006 19:50:50 GMT]]></title><description><![CDATA[<p>Die TreeItems gehen auf und zu, aber ich will beim Click mit der link Maustaste was öffnen, je nach dem welches Item angeklickt wurde.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1061847</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1061847</guid><dc:creator><![CDATA[CPP_Dau]]></dc:creator><pubDate>Sat, 20 May 2006 19:50:50 GMT</pubDate></item><item><title><![CDATA[Reply to paar CTreeCtrl Probleme on Sun, 21 May 2006 00:39:30 GMT]]></title><description><![CDATA[<p>ist das ein Dialog oder Frame?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1061911</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1061911</guid><dc:creator><![CDATA[Morides]]></dc:creator><pubDate>Sun, 21 May 2006 00:39:30 GMT</pubDate></item><item><title><![CDATA[Reply to paar CTreeCtrl Probleme on Sun, 21 May 2006 17:16:53 GMT]]></title><description><![CDATA[<p>Frame</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1062247</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1062247</guid><dc:creator><![CDATA[CPP_Dau]]></dc:creator><pubDate>Sun, 21 May 2006 17:16:53 GMT</pubDate></item><item><title><![CDATA[Reply to paar CTreeCtrl Probleme on Mon, 22 May 2006 12:55:58 GMT]]></title><description><![CDATA[<p>Zu Problem Nr.2:</p>
<p>So klappts zumindest bei mir ...</p>
<pre><code class="language-cpp">void MyTreeView::OnRButtonDown(UINT nFlags, CPoint point)
{
    TVHITTESTINFO hti;
    HWND hTree;

    CTreeView::OnRButtonDown(nFlags, point);

    point = (CPoint) GetMessagePos();
    ScreenToClient( &amp;point );
   hti.pt.x = point.x;
   hti.pt.y = point.y;

   hTree = this-&gt;m_hWnd;
   HTREEITEM hItem = TreeView_HitTest( hTree, &amp;hti );
}
</code></pre>
<p>funktioniert auch mit Dual-Monitor <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1062768</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1062768</guid><dc:creator><![CDATA[Mr.Yellow]]></dc:creator><pubDate>Mon, 22 May 2006 12:55:58 GMT</pubDate></item><item><title><![CDATA[Reply to paar CTreeCtrl Probleme on Mon, 22 May 2006 13:35:43 GMT]]></title><description><![CDATA[<p>Mr.Yellow schrieb:</p>
<blockquote>
<pre><code>void MyTreeView::OnRButtonDown(UINT nFlags, CPoint point)
{
    TVHITTESTINFO hti;
    HWND hTree;

    CTreeView::OnRButtonDown(nFlags, point);

[i][b]    point = (CPoint) GetMessagePos();
    ScreenToClient( &amp;point );
   hti.pt.x = point.x;
   hti.pt.y = point.y;
   
   hTree = this-&gt;m_hWnd;
   HTREEITEM hItem = TreeView_HitTest( hTree, &amp;hti );[/b][/i]}
</code></pre>
</blockquote>
<p>Das ist Quark. Alles was Du hier in kursiv und fett siehst hat keine Wirkung!<br />
Das kannst Du greade mal vergessen. Genaugenommen kannst Du den gazen Handler vergessen, denn er tut nichts.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1062792</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1062792</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Mon, 22 May 2006 13:35:43 GMT</pubDate></item></channel></rss>