<?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ü per Quellcode erstellen]]></title><description><![CDATA[<p>Hallo,<br />
habe eben versucht ein Menü in der MFC per QuellCode zu erstellen. Mein problem ist, das ich die ersten Einträge (z.B. Datei, Bearbeiten) auf dem Menü ohne Probleme hinbekommen. Nun wollte ich diesen ebenfalls UntermenüPunkte zuweisen (z.B. Datei-&gt;Beenden, Bearbeiten-&gt;kopieren)<br />
Wie lässt sich dies realisieren???<br />
Mein Quellcode bis jetzt:</p>
<pre><code>CMenu mainMenu;
	CMenu fileMenu;

	mainMenu.CreateMenu();
	fileMenu.CreateMenu();

	fileMenu.AppendMenu(MF_STRING,5678,&quot;Öffnen&quot;);
	fileMenu.AppendMenu(MF_STRING,9000,&quot;Speichern&quot;);
	fileMenu.AppendMenu(MF_STRING,1234,&quot;Beenden&quot;);

	mainMenu.AppendMenu(MF_POPUP,NULL,&quot;Datei&quot;);
	mainMenu.AppendMenu(MF_POPUP,NULL,&quot;Bearbeiten&quot;);

	CMenu *xx = mainMenu.GetSubMenu(0);
	xx-&gt;AppendMenu(MF_STRING,1234,&quot;Beenden&quot;);

	SetMenu(&amp;mainMenu);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/81504/menü-per-quellcode-erstellen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 15 Apr 2026 15:41:48 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/81504.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 01 Aug 2004 16:48:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Menü per Quellcode erstellen on Sun, 01 Aug 2004 16:48:16 GMT]]></title><description><![CDATA[<p>Hallo,<br />
habe eben versucht ein Menü in der MFC per QuellCode zu erstellen. Mein problem ist, das ich die ersten Einträge (z.B. Datei, Bearbeiten) auf dem Menü ohne Probleme hinbekommen. Nun wollte ich diesen ebenfalls UntermenüPunkte zuweisen (z.B. Datei-&gt;Beenden, Bearbeiten-&gt;kopieren)<br />
Wie lässt sich dies realisieren???<br />
Mein Quellcode bis jetzt:</p>
<pre><code>CMenu mainMenu;
	CMenu fileMenu;

	mainMenu.CreateMenu();
	fileMenu.CreateMenu();

	fileMenu.AppendMenu(MF_STRING,5678,&quot;Öffnen&quot;);
	fileMenu.AppendMenu(MF_STRING,9000,&quot;Speichern&quot;);
	fileMenu.AppendMenu(MF_STRING,1234,&quot;Beenden&quot;);

	mainMenu.AppendMenu(MF_POPUP,NULL,&quot;Datei&quot;);
	mainMenu.AppendMenu(MF_POPUP,NULL,&quot;Bearbeiten&quot;);

	CMenu *xx = mainMenu.GetSubMenu(0);
	xx-&gt;AppendMenu(MF_STRING,1234,&quot;Beenden&quot;);

	SetMenu(&amp;mainMenu);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/572817</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/572817</guid><dc:creator><![CDATA[guenni81]]></dc:creator><pubDate>Sun, 01 Aug 2004 16:48:16 GMT</pubDate></item><item><title><![CDATA[Reply to Menü per Quellcode erstellen on Sun, 01 Aug 2004 16:57:14 GMT]]></title><description><![CDATA[<p>CMenu::InsertMenu();</p>
]]></description><link>https://www.c-plusplus.net/forum/post/572821</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/572821</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sun, 01 Aug 2004 16:57:14 GMT</pubDate></item><item><title><![CDATA[Reply to Menü per Quellcode erstellen on Sun, 01 Aug 2004 17:09:23 GMT]]></title><description><![CDATA[<p>Hi,<br />
dies bewirkt bei mit ebenfalls nichts.<br />
Der Befehl AppendMenu und InsertMenu sind ja fast identisch, ausser das ich bei der InsertMenu Methode noch die genaue Position angeben kann wo der Neue MenuItem erstellt werden soll.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/572827</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/572827</guid><dc:creator><![CDATA[guenni81]]></dc:creator><pubDate>Sun, 01 Aug 2004 17:09:23 GMT</pubDate></item><item><title><![CDATA[Reply to Menü per Quellcode erstellen on Sun, 01 Aug 2004 17:35:33 GMT]]></title><description><![CDATA[<p>so in der Richtung:</p>
<pre><code class="language-cpp">CMenu mNeu,mDatei;
mNeu.CreatePopupMenu();

mDatei.CreatePopupMenu();
mDatei.AppendMenu(MF_STRING,NULL,&quot;Öffnen&quot;);
mDatei.AppendMenu(MF_STRING,NULL,&quot;Speichern&quot;);
mDatei.AppendMenu(MF_STRING,NULL,&quot;Bearbeiten&quot;);
mNeu.InsertMenu(0,MF_POPUP,(UINT)mDatei.m_hMenu,&quot;Datei&quot;);

mNeu.TrackPopupMenu(TPM_LEFTALIGN | TPM_LEFTBUTTON,[...],this);
</code></pre>
<p>wie gesagt in der richtung...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/572849</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/572849</guid><dc:creator><![CDATA[kreen]]></dc:creator><pubDate>Sun, 01 Aug 2004 17:35:33 GMT</pubDate></item><item><title><![CDATA[Reply to Menü per Quellcode erstellen on Sun, 01 Aug 2004 18:00:45 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/6546">@kreen</a><br />
Das was du geschrieben hast ist für ein POPUP Menü das über die Rechte Maustaste erreichbar ist. Bei mir geht es aber nicht um diese Menüs, sondern um die ganz normalen Menüs die sich an der TitelZeile befinden...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/572868</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/572868</guid><dc:creator><![CDATA[guenni81]]></dc:creator><pubDate>Sun, 01 Aug 2004 18:00:45 GMT</pubDate></item><item><title><![CDATA[Reply to Menü per Quellcode erstellen on Sun, 01 Aug 2004 18:07:24 GMT]]></title><description><![CDATA[<p>Versuche mal, das FileMenue nicht als eigenes CMenu zu erstellen, sondern über mainMenu.GetSubMenu() zu ermitteln.<br />
Und dann dessen Methode InsertMenu aufzurufen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/572869</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/572869</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sun, 01 Aug 2004 18:07:24 GMT</pubDate></item><item><title><![CDATA[Reply to Menü per Quellcode erstellen on Sun, 01 Aug 2004 18:26:23 GMT]]></title><description><![CDATA[<p>Dies habe ich auch schon versucht (siehe ganz oben erster Post von mir), leider brachte dies auch kein erfolg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/572885</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/572885</guid><dc:creator><![CDATA[guenni81]]></dc:creator><pubDate>Sun, 01 Aug 2004 18:26:23 GMT</pubDate></item><item><title><![CDATA[Reply to Menü per Quellcode erstellen on Sun, 01 Aug 2004 18:51:20 GMT]]></title><description><![CDATA[<p>Das muß gehen! <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>
<p>Hier ist es genauso beschrieben:<br />
<a href="http://www.c-plusplus.net/forum/topic%2C50293.html" rel="nofollow">http://www.c-plusplus.net/forum/topic%2C50293.html</a></p>
<p>Übrigens ist ein PopUp Menu ein ganz normales Menue in der Titeleiste, das Aufpringt wenn man mit der Maus darauf klickt.<br />
Das Menue mit der rechten Maustaste nennt man Kontextmenu.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/572893</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/572893</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sun, 01 Aug 2004 18:51:20 GMT</pubDate></item><item><title><![CDATA[Reply to Menü per Quellcode erstellen on Sun, 01 Aug 2004 18:57:08 GMT]]></title><description><![CDATA[<p>ich hab ja auch gesagt in der richtung...<br />
das läuft alles auf CMenu heraus deshalb ist das egal<br />
das was du willst ist auch blos nen popup nur is die position von windowrect abhängig</p>
]]></description><link>https://www.c-plusplus.net/forum/post/572896</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/572896</guid><dc:creator><![CDATA[kreen]]></dc:creator><pubDate>Sun, 01 Aug 2004 18:57:08 GMT</pubDate></item><item><title><![CDATA[Reply to Menü per Quellcode erstellen on Sun, 01 Aug 2004 20:02:44 GMT]]></title><description><![CDATA[<p>ich werde es im laufe der Woche nochmals versuchen.<br />
Aber schon mal danke für eure Hilfe... <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/572935</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/572935</guid><dc:creator><![CDATA[guenni81]]></dc:creator><pubDate>Sun, 01 Aug 2004 20:02:44 GMT</pubDate></item><item><title><![CDATA[Reply to Menü per Quellcode erstellen on Sun, 01 Aug 2004 20:27:00 GMT]]></title><description><![CDATA[<p>So,<br />
hab es doch nochmal schnell probiert. Der Auschlaggebende Punkt war das CreatePopupMenu. Hiermit funzt dies.<br />
Hier mal noch den Code, vielleicht kann diesen irgendwann mal jemand gebrauchen</p>
<pre><code>CMenu mainMenu;
	CMenu *fileMenu = new CMenu;

	mainMenu.CreateMenu();

	fileMenu-&gt;CreatePopupMenu();
	fileMenu-&gt;AppendMenu(MF_STRING,5000,&quot;DummyEintrag&quot;);
	fileMenu-&gt;AppendMenu(MF_STRING,5001,&quot;DummyEintrag2&quot;);
	fileMenu-&gt;AppendMenu(MF_STRING,5002,&quot;DummyEintrag3&quot;);
	fileMenu-&gt;AppendMenu(MF_STRING,5003,&quot;DummyEintrag4 &quot;);

	mainMenu.AppendMenu(MF_POPUP,(unsigned int)fileMenu-&gt;GetSafeHmenu(),&quot;Datei&quot;);

	SetMenu(&amp;mainMenu);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/572953</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/572953</guid><dc:creator><![CDATA[guenni81]]></dc:creator><pubDate>Sun, 01 Aug 2004 20:27:00 GMT</pubDate></item><item><title><![CDATA[Reply to Menü per Quellcode erstellen on Sun, 01 Aug 2004 21:29:45 GMT]]></title><description><![CDATA[<p>Hi</p>
<p>und wie sprichst du dann die Menüpunkte an ? Hat das nicht was<br />
mit #define von den Nummern 500x zu tun ? So dass man auch eine<br />
Funktion starten kann mein ich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/572983</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/572983</guid><dc:creator><![CDATA[Spezi]]></dc:creator><pubDate>Sun, 01 Aug 2004 21:29:45 GMT</pubDate></item><item><title><![CDATA[Reply to Menü per Quellcode erstellen on Sun, 01 Aug 2004 21:52:14 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/7985">@Spezi</a><br />
Ja, normalerweise werden anstatt den nummern definierte Wörter wie ID_CLOSE und so verwendet.</p>
<pre><code class="language-cpp">#define ID_CLOSE 5000
</code></pre>
<p>Dann kannst du statt</p>
<pre><code class="language-cpp">fileMenu-&gt;AppendMenu(MF_STRING,5000,&quot;DummyEintrag&quot;);
</code></pre>
<p>einfach</p>
<pre><code class="language-cpp">fileMenu-&gt;AppendMenu(MF_STRING,ID_CLOSE,&quot;DummyEintrag&quot;);
</code></pre>
<p>schreiben!<br />
Anschließend musst du in der MESSAGE_MAP die funktionen zuweisen</p>
<pre><code class="language-cpp">BEGIN_MESSAGE_MAP(myframe,CFrameWnd)
     ON_COMMAND(ID_CLOSE, OnClose)
END_MESSAGE_MAP()
</code></pre>
<p>Dies bleibt also wie die ganze Zeit auch. Mir Persönlich ging es nur um das Dynamische erstellen des Menüs. Bin zur Zeit Anfänger mit der MFC und finde diese Sachen doch schon irgendwo wichtig. Will ja mal auch irgendetwas Programmieren können das dynamisch über DLL dateien (Plugins) oder so eigene Menüpunkte hinzufügen kann. Theoretischer weise könnte ich aber auch bei dem ON_COMMAND einfach die 5000 reinschreiben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/572986</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/572986</guid><dc:creator><![CDATA[guenni81]]></dc:creator><pubDate>Sun, 01 Aug 2004 21:52:14 GMT</pubDate></item></channel></rss>