<?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[PopUp Menü bei nicht-fokusierendem Mausklick schließen]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich habe mir ein TrayIcon gebastelt, welches als &quot;Vater&quot; ein unsichtbares Fenster besitzt. Wird dieses Icon mit der rechten Maustaste selektiert, so öffnet sich ein Kontextmenü, dass sich aber nur schließt wenn ich einen Eintrag darauß selektiere.<br />
Ich möchte natürlich gern, dass es auch geschlossen wird, wenn mit der Maus außerhalb des Menüs etwas angeklickt wird.<br />
Das Problem daran ist, ich weiß nicht genau wo ich auf welches Ereignis warten muss.<br />
Ich würde natürlich am Liebsten in</p>
<pre><code class="language-cpp">LRESULT CALLBACK MainWindowCallback(HWND hWindow, UINT uMessage, WPARAM wParam, LPARAM lParam)
</code></pre>
<p>darauf reagieren, allerdings bezweifle ich (mit meinen geringen WinAPI Kenntnissen), dass dies möglich ist, da ja ein unsichtbares Fenster keine Mausereignisse bekommt?!</p>
<p>Kann ich global auf Mausereignisse reagieren?</p>
<p>Richard</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/186934/popup-menü-bei-nicht-fokusierendem-mausklick-schließen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 04 Jul 2026 22:55:23 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/186934.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 13 Jul 2007 17:59:31 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to PopUp Menü bei nicht-fokusierendem Mausklick schließen on Fri, 13 Jul 2007 17:59:31 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich habe mir ein TrayIcon gebastelt, welches als &quot;Vater&quot; ein unsichtbares Fenster besitzt. Wird dieses Icon mit der rechten Maustaste selektiert, so öffnet sich ein Kontextmenü, dass sich aber nur schließt wenn ich einen Eintrag darauß selektiere.<br />
Ich möchte natürlich gern, dass es auch geschlossen wird, wenn mit der Maus außerhalb des Menüs etwas angeklickt wird.<br />
Das Problem daran ist, ich weiß nicht genau wo ich auf welches Ereignis warten muss.<br />
Ich würde natürlich am Liebsten in</p>
<pre><code class="language-cpp">LRESULT CALLBACK MainWindowCallback(HWND hWindow, UINT uMessage, WPARAM wParam, LPARAM lParam)
</code></pre>
<p>darauf reagieren, allerdings bezweifle ich (mit meinen geringen WinAPI Kenntnissen), dass dies möglich ist, da ja ein unsichtbares Fenster keine Mausereignisse bekommt?!</p>
<p>Kann ich global auf Mausereignisse reagieren?</p>
<p>Richard</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1324864</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1324864</guid><dc:creator><![CDATA[Richard]]></dc:creator><pubDate>Fri, 13 Jul 2007 17:59:31 GMT</pubDate></item><item><title><![CDATA[Reply to PopUp Menü bei nicht-fokusierendem Mausklick schließen on Sat, 14 Jul 2007 21:59:17 GMT]]></title><description><![CDATA[<p>Hmm, das schließt sich nicht wenn du außerhalb des Kontextmenüs irgendwo klickst?<br />
Hast du dir dir Remarks bei TrackPopupMenuEx() bzgl. SetForegroundWindow() und WM_NULL angeguckt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1325567</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1325567</guid><dc:creator><![CDATA[geeky]]></dc:creator><pubDate>Sat, 14 Jul 2007 21:59:17 GMT</pubDate></item><item><title><![CDATA[Reply to PopUp Menü bei nicht-fokusierendem Mausklick schließen on Sun, 15 Jul 2007 16:37:34 GMT]]></title><description><![CDATA[<p>Vielen Dank, der Tipp war Gold wert.</p>
<p>So funzt es:</p>
<pre><code class="language-cpp">GetCursorPos(&amp;(this-&gt;CursorPosition));				/* get cursor position */

	SetForegroundWindow(this-&gt;hOwnerWindow);			/* brings the owner window to the top */

	TrackPopupMenu(this-&gt;hPopupMenu,					/* display the trayicon menu */
							TPM_LEFTBUTTON,				/* menu selection with the left button */
							this-&gt;CursorPosition.x,		/* x-coordinate */
							this-&gt;CursorPosition.y,		/* y-coordinate */
							0,							/* must be zero */
							this-&gt;hOwnerWindow,			/* window that owns the menu */
							NULL);						/* ignored */

	PostMessage(this-&gt;hOwnerWindow, WM_NOICONFOCUS, 0, 0);
</code></pre>
<p>Das kommt davon, wenn man die Manuals nicht richtig studiert. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /><br />
<a href="http://msdn2.microsoft.com/en-us/library/ms648002.aspx" rel="nofollow">http://msdn2.microsoft.com/en-us/library/ms648002.aspx</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1325984</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1325984</guid><dc:creator><![CDATA[Richard]]></dc:creator><pubDate>Sun, 15 Jul 2007 16:37:34 GMT</pubDate></item></channel></rss>