<?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[Menüeinträge deaktivieren - EnableMenuItem]]></title><description><![CDATA[<p>Hi,</p>
<p>bei dem Versuch Menüeinträge in meiner SDI-Anwendung zu deaktivieren passieren Dinge, die ich überhaupt nicht verstehe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Zunächst wollte ich ein paar Einträge im &quot;Datei-Menü&quot; deaktivieren. Ich habe für die entsprechenden Einträge im Ressourcen-Editor die Eigenschaft &quot;Enabled&quot; auf FALSE und die Eigenschaft &quot;Grayed&quot; auf TRUE gesetzt, was allerdings in meiner Applikation überhaupt nichts bewirkt hat. Die Einträge waren weder &quot;ausgegraut&quot; noch waren sie inaktiv.</p>
<p>Anschließend habe ich es folgendermaßen probiert:</p>
<pre><code class="language-cpp">CMenu* pMainMenu = AfxGetApp()-&gt;m_pMainWnd-&gt;GetMenu();
CMenu* pSubMenu = pMainMenu-&gt;GetSubMenu(0);
pSubMenu-&gt;EnableMenuItem(ID_FILE_PRINT, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
</code></pre>
<p>Auch das hat nichts bewirkt.</p>
<p>Mit dem selben Code konnte ich dann aber einen Menüeintrag deaktivieren, den ich selbst erstellt hatte. Als ich aber die 3 Zeilen Code wieder gelöscht habe, blieb der Eintrag deaktiviert (neuer Build) und ich konnte ihn auch nicht über</p>
<pre><code class="language-cpp">pSubMenu-&gt;EnableMenuItem(ID_MEINEINTRAG, MF_BYCOMMAND | MF_ENABLED);
</code></pre>
<p>wieder aktivieren.</p>
<p>Gibt es dafür eine logische Erklärung. Ich kapiere es jedenfalls überhautp nicht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/181929/menüeinträge-deaktivieren-enablemenuitem</link><generator>RSS for Node</generator><lastBuildDate>Fri, 17 Apr 2026 13:58:31 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/181929.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 18 May 2007 21:44:05 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Menüeinträge deaktivieren - EnableMenuItem on Fri, 18 May 2007 21:44:05 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>bei dem Versuch Menüeinträge in meiner SDI-Anwendung zu deaktivieren passieren Dinge, die ich überhaupt nicht verstehe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Zunächst wollte ich ein paar Einträge im &quot;Datei-Menü&quot; deaktivieren. Ich habe für die entsprechenden Einträge im Ressourcen-Editor die Eigenschaft &quot;Enabled&quot; auf FALSE und die Eigenschaft &quot;Grayed&quot; auf TRUE gesetzt, was allerdings in meiner Applikation überhaupt nichts bewirkt hat. Die Einträge waren weder &quot;ausgegraut&quot; noch waren sie inaktiv.</p>
<p>Anschließend habe ich es folgendermaßen probiert:</p>
<pre><code class="language-cpp">CMenu* pMainMenu = AfxGetApp()-&gt;m_pMainWnd-&gt;GetMenu();
CMenu* pSubMenu = pMainMenu-&gt;GetSubMenu(0);
pSubMenu-&gt;EnableMenuItem(ID_FILE_PRINT, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
</code></pre>
<p>Auch das hat nichts bewirkt.</p>
<p>Mit dem selben Code konnte ich dann aber einen Menüeintrag deaktivieren, den ich selbst erstellt hatte. Als ich aber die 3 Zeilen Code wieder gelöscht habe, blieb der Eintrag deaktiviert (neuer Build) und ich konnte ihn auch nicht über</p>
<pre><code class="language-cpp">pSubMenu-&gt;EnableMenuItem(ID_MEINEINTRAG, MF_BYCOMMAND | MF_ENABLED);
</code></pre>
<p>wieder aktivieren.</p>
<p>Gibt es dafür eine logische Erklärung. Ich kapiere es jedenfalls überhautp nicht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1287701</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1287701</guid><dc:creator><![CDATA[Nanuq]]></dc:creator><pubDate>Fri, 18 May 2007 21:44:05 GMT</pubDate></item><item><title><![CDATA[Reply to Menüeinträge deaktivieren - EnableMenuItem on Sat, 19 May 2007 07:01:54 GMT]]></title><description><![CDATA[<p>Du solltest erstmal verstehen, wie MFC Anwendungen Command's, Toolbars und Menüs behandeln.</p>
<p>Hierfür werden Handler aufgerufen, die z.B. dem Menüitem sagen ob es enabled oder disabled ist.</p>
<p>Das direkte manipulieren eines Menüeintrages hat in der MFC fast nie eine Wirkung, da der entsprechende Handler das Item wieder in den Status setzt, den er möchte.</p>
<p>Du must den ON_UPDATE_COMMAND_UI Handler für ID_FILE_PRINT überschreiben. Dort kannst Du über den Zeiger pCmdUI dann das Item z.B. disablenn.</p>
<p>Ist kein ON_UPDATE_COMMAND_UI aber ein ON_COMMAND Handler vorhanden, so ist das Menüitem immer enabled!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1287788</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1287788</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Sat, 19 May 2007 07:01:54 GMT</pubDate></item><item><title><![CDATA[Reply to Menüeinträge deaktivieren - EnableMenuItem on Sat, 19 May 2007 08:08:10 GMT]]></title><description><![CDATA[<p>Ach du Sch...<br />
Ja, das war natürlich ein absoluter Schnellschuss! Hätte ich das besser gleich noch einmal kurz nachgeschlagen, anstatt im Forum blöde Fragen zu stellen, wäre ich wahrscheinlich schneller am Ziel gewesen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /><br />
Mit einer Behandlungsfunktion für ON_UPDATE_COMMAND_UI war die Sache dann eigentlich gleich erledigt.</p>
<p>Vielen Dank also für den Hinweis!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1287807</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1287807</guid><dc:creator><![CDATA[Nanuq]]></dc:creator><pubDate>Sat, 19 May 2007 08:08:10 GMT</pubDate></item></channel></rss>