<?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[CTreeCtrl OnRButtonDown geht nicht]]></title><description><![CDATA[<pre><code class="language-cpp">BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
...
ON_WM_RBUTTONDOWN()
...
END_MESSAGE_MAP()
</code></pre>
<pre><code class="language-cpp">void CMainFrame::OnRButtonDown(UINT nFlags, CPoint point)
{
UINT uFlags;
HTREEITEM hItem = m_mainTree.HitTest(myPoint, &amp;uFlags);

if (!hItem)
return;

BuildMenu();
}
</code></pre>
<p>es wird nicht erkannt, dass ein Item angeklickt wurden, wieso, was vergesse ich?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/146762/ctreectrl-onrbuttondown-geht-nicht</link><generator>RSS for Node</generator><lastBuildDate>Sat, 18 Jul 2026 03:55:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/146762.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 10 May 2006 16:47:12 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to CTreeCtrl OnRButtonDown geht nicht on Wed, 10 May 2006 16:47:12 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
...
ON_WM_RBUTTONDOWN()
...
END_MESSAGE_MAP()
</code></pre>
<pre><code class="language-cpp">void CMainFrame::OnRButtonDown(UINT nFlags, CPoint point)
{
UINT uFlags;
HTREEITEM hItem = m_mainTree.HitTest(myPoint, &amp;uFlags);

if (!hItem)
return;

BuildMenu();
}
</code></pre>
<p>es wird nicht erkannt, dass ein Item angeklickt wurden, wieso, was vergesse ich?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1054996</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1054996</guid><dc:creator><![CDATA[Morides]]></dc:creator><pubDate>Wed, 10 May 2006 16:47:12 GMT</pubDate></item><item><title><![CDATA[Reply to CTreeCtrl OnRButtonDown geht nicht on Wed, 10 May 2006 21:11:00 GMT]]></title><description><![CDATA[<p>Ich nehme mal an dass das TreeCtrl ein Child-Fenster deines CMainFrame ist.<br />
Dann solltest du die Notification-Message NM_RCLICK behandeln.</p>
<pre><code class="language-cpp">BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
        ...
	ON_NOTIFY(NM_RCLICK, IDC_TREE1, OnRclickTree1)
        ...
END_MESSAGE_MAP()

void CMainFrame::OnRclickTree1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Code für die Behandlungsroutine der Steuerelement-Benachrichtigung hier einfügen

	*pResult = 0;
}
</code></pre>
<p>Die Botschaft WM_RBUTTONDOWN wird an das CTreeCtrl bei einem Rechtsclick gesendet, nicht an das CMainFrame. Das TreeControl benachrichtigt seinen Parent ( CMainFrame ) über die Notification Message WM_NOTIFY + NM_RCLICK über den Rechtsklick im TreeCtrl. Das kannst du in der MSDN nachlesen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1055217</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1055217</guid><dc:creator><![CDATA[tvdog]]></dc:creator><pubDate>Wed, 10 May 2006 21:11:00 GMT</pubDate></item><item><title><![CDATA[Reply to CTreeCtrl OnRButtonDown geht nicht on Wed, 10 May 2006 21:26:26 GMT]]></title><description><![CDATA[<p>es wird erkannt, dass es die rechte maus down ist, es wird aber nicht erkannt, das es auf einem item ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1055226</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1055226</guid><dc:creator><![CDATA[Morides]]></dc:creator><pubDate>Wed, 10 May 2006 21:26:26 GMT</pubDate></item><item><title><![CDATA[Reply to CTreeCtrl OnRButtonDown geht nicht on Wed, 10 May 2006 21:34:38 GMT]]></title><description><![CDATA[<p>Ist jetzt nur eine Vermutung, aber kann es sein, dass die Koordinatensysteme der POINT-Koordinaten nicht übereinstimmen ?</p>
<p>WM_RBUTTONDOWN auf dem FrameWnd liefert die Koordinaten relativ zum linken oberen Eck des CMainFrame</p>
<p>HitTest erwartet die Koordinaten relativ zum CTreeCtrl.</p>
<pre><code class="language-cpp">void CMainFrame::OnRButtonDown(UINT nFlags, CPoint point)
{
   MapWindowPoints( &amp;mainTree, (LPPOINT)&amp;point, 1 );
   HTREEITEM hItem = m_mainTree.HitTest(point, &amp;uFlags);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1055229</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1055229</guid><dc:creator><![CDATA[tvdog]]></dc:creator><pubDate>Wed, 10 May 2006 21:34:38 GMT</pubDate></item><item><title><![CDATA[Reply to CTreeCtrl OnRButtonDown geht nicht on Wed, 10 May 2006 22:50:48 GMT]]></title><description><![CDATA[<p>jetzt habe ich mist gebaut.<br />
es leuft jetzt nur im dialog, im tree reagiert es garnicht mehr<br />
es ist ein 0815 dialog mit CTreeCtrl und 2 buttons drin.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1055238</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1055238</guid><dc:creator><![CDATA[Morides]]></dc:creator><pubDate>Wed, 10 May 2006 22:50:48 GMT</pubDate></item><item><title><![CDATA[Reply to CTreeCtrl OnRButtonDown geht nicht on Thu, 11 May 2006 06:52:46 GMT]]></title><description><![CDATA[<p>Morides schrieb:</p>
<blockquote>
<p>es wird nicht erkannt, dass ein Item angeklickt wurden, wieso, was vergesse ich?</p>
</blockquote>
<pre><code>void CMainFrame::OnRButtonDown(UINT nFlags, CPoint point)
{
  [b]Default();[/b]
  UINT uFlags;
  HTREEITEM hItem = m_mainTree.HitTest(myPoint, &amp;uFlags);

  if (!hItem)
    return;

  BuildMenu();
}
</code></pre>
<p>Ohne dass Du den rechten Mausklick an die Elternklasse weitergibst wird es auch kein Item selektieren.</p>
<p>Wenn es Dir aber um ein Context Menü geht:<br />
<a href="http://support.microsoft.com/kb/222905/en-us" rel="nofollow">http://support.microsoft.com/kb/222905/en-us</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1055290</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1055290</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Thu, 11 May 2006 06:52:46 GMT</pubDate></item><item><title><![CDATA[Reply to CTreeCtrl OnRButtonDown geht nicht on Tue, 16 May 2006 03:39:42 GMT]]></title><description><![CDATA[<p>jetzt werden die Items erkannt, aber es wird nicht das erkannt worauf man geklickt hat, sondern ein Item was 2 items tiefer ist.<br />
Wieso?<br />
habe es nach <a href="http://support.microsoft.com/kb/222905/en-us" rel="nofollow">http://support.microsoft.com/kb/222905/en-us</a> erstellt.</p>
<p>ahja ich brauch sowas in der art:</p>
<pre><code class="language-cpp">ON_NOTIFY(NM_CLICK, OnClick)
</code></pre>
<p>wo ich keine ID eingeben muss.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1058530</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1058530</guid><dc:creator><![CDATA[Morides]]></dc:creator><pubDate>Tue, 16 May 2006 03:39:42 GMT</pubDate></item></channel></rss>