<?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[Fragen zur Menübar]]></title><description><![CDATA[<p>Hallo API Freunde <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":-)"
      alt="🙂"
    /></p>
<p>Ich habe einige Fragen an euch. Ich habe schon im Forum gesucht, doch bin noch nicht auf das gestoßen was meine Fragen direkt beantworten würde.<br />
Ich entschuldige mich, wenn die Fragen für dieses Forum evtl zu einfach sind.</p>
<p>Kurz zu mir: Bin C++ Einsteiger.</p>
<p>Ich habe folgendes gemacht, einfach ein Fenster, das mir eine Menübar und Submenüs anzeigen soll.</p>
<pre><code class="language-cpp">/* Ein Menüitem erstellen */
MENUITEMINFO* CreateMenuItem(HMENU hSub)
{
    static MENUITEMINFO mii;

    mii.cbSize      = sizeof(MENUITEMINFO); 
    mii.fMask       = MIIM_ID | MIIM_SUBMENU | MIIM_TYPE; 
    mii.wID         = 0; 
    mii.cch         = 4; 
    mii.dwTypeData  = &quot;Info&quot;;
    mii.hSubMenu    = hSub;

	return(&amp;mii);
}

int APIENTRY...
[...]

HMENU	HauptMenue,	// Menüs
	InfoMenu,
	InfoAuswahl;

/* Erstellen der Menüs */
HauptMenue = CreateMenu();
InfoMenu	= CreatePopupMenu();
InfoAuswahl = CreatePopupMenu();

/* WinClass anmelden */
[...]

/* Hauptfenster der Anwendung erstellen */
[...]

MENUITEMINFO *miiPointer;

miiPointer = CreateMenuItem(InfoMenu);
InsertMenuItem(HauptMenue, 0, FALSE, miiPointer);

miiPointer = CreateMenuItem(InfoAuswahl);
InsertMenuItem(InfoMenu, 0, FALSE, miiPointer);

SetMenu(hWindow, HauptMenue);

[...]
</code></pre>
<p>So, nun die Fragen:<br />
Ich habe das Beispiel hier aus dem Forum aufgegriffen und ausprobiert. Soweit so gut.</p>
<p>1. Liege ich richtig mit der Annahmen, dass man mit &quot;MENUITEMINFO* CreateMenuItem&quot; eine Referenz auf das Menuiteminfo zurückgibt? Es ist ja in InsertMenuItem so verlangt:<br />
&quot;[in] Pointer to a MENUITEMINFO structure that contains information about the new menu item&quot;</p>
<p>2. Ich finde es relativ mühselig am anfang mit der MSDN Library zurechtzukommen.Aber man kommt ja nicht drumherum. Bitte habt nachsicht wenn ich noch etwas ungeübt bin. Meine Frage: Wie kann ich mehrere Unterpunkte in das Submenü eintragen, also wie man es kennt, z.B. speichern öffnen usw usw? (MENUITEMINFO habe ich mir schon angeschaut, aber doch nicht so recht weitergekommen (bins noch net gewohnt eben).</p>
<p>3. Wo genau trage ich nun die ID des Menüelements ein, so dasss ich auf ereignisse in Verbindung mit diesem reagieren kann. (Steht bestimmt auch in MENUITEMINFO <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>4. Ist es überhaupt praktikabel die Menüs immer selbst zu gestalten ? Wie ihr seht, benutze ich ja keine Headerdateien um dies zu bewerkstelligen. Ich möchte nämlich bis aufs kleinste Detail die Kontrolle darüber haben was mein Programm macht.</p>
<p>5. Ich weiss, ist evtl schon etwas weit vorgegriffen, aber wie erstellt man später eigene Menüs. Ich habe hier im Forum gelesen, dass man alles selbst machen muss, was ja nicht weiter schlimm ist. Vielleicht könnt ihr mir einige Tips geben was dann alles getan werden muss, also was alles mit einfließt. Ich nehme mal an eigene DLLs werden auf jeden Fall nötig sein. Muss ich dann in den DLLs die Funtionen wie &quot;InsertMenuItem&quot; selbst implementieren ?<br />
Mir ist die grobe richtung noch nicht ganz klar wie es gemacht wird.</p>
<p>Okay, vielen Dank demjenigen, der sich die Mühe macht alles durchzulesen und mir einige Krüken oder gar Rollstuhl zur Verfügung zu stellen <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>Grüße<br />
kuRu</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/103493/fragen-zur-menübar</link><generator>RSS for Node</generator><lastBuildDate>Fri, 01 May 2026 16:57:34 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/103493.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 09 Mar 2005 09:03:01 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Fragen zur Menübar on Wed, 09 Mar 2005 09:03:01 GMT]]></title><description><![CDATA[<p>Hallo API Freunde <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":-)"
      alt="🙂"
    /></p>
<p>Ich habe einige Fragen an euch. Ich habe schon im Forum gesucht, doch bin noch nicht auf das gestoßen was meine Fragen direkt beantworten würde.<br />
Ich entschuldige mich, wenn die Fragen für dieses Forum evtl zu einfach sind.</p>
<p>Kurz zu mir: Bin C++ Einsteiger.</p>
<p>Ich habe folgendes gemacht, einfach ein Fenster, das mir eine Menübar und Submenüs anzeigen soll.</p>
<pre><code class="language-cpp">/* Ein Menüitem erstellen */
MENUITEMINFO* CreateMenuItem(HMENU hSub)
{
    static MENUITEMINFO mii;

    mii.cbSize      = sizeof(MENUITEMINFO); 
    mii.fMask       = MIIM_ID | MIIM_SUBMENU | MIIM_TYPE; 
    mii.wID         = 0; 
    mii.cch         = 4; 
    mii.dwTypeData  = &quot;Info&quot;;
    mii.hSubMenu    = hSub;

	return(&amp;mii);
}

int APIENTRY...
[...]

HMENU	HauptMenue,	// Menüs
	InfoMenu,
	InfoAuswahl;

/* Erstellen der Menüs */
HauptMenue = CreateMenu();
InfoMenu	= CreatePopupMenu();
InfoAuswahl = CreatePopupMenu();

/* WinClass anmelden */
[...]

/* Hauptfenster der Anwendung erstellen */
[...]

MENUITEMINFO *miiPointer;

miiPointer = CreateMenuItem(InfoMenu);
InsertMenuItem(HauptMenue, 0, FALSE, miiPointer);

miiPointer = CreateMenuItem(InfoAuswahl);
InsertMenuItem(InfoMenu, 0, FALSE, miiPointer);

SetMenu(hWindow, HauptMenue);

[...]
</code></pre>
<p>So, nun die Fragen:<br />
Ich habe das Beispiel hier aus dem Forum aufgegriffen und ausprobiert. Soweit so gut.</p>
<p>1. Liege ich richtig mit der Annahmen, dass man mit &quot;MENUITEMINFO* CreateMenuItem&quot; eine Referenz auf das Menuiteminfo zurückgibt? Es ist ja in InsertMenuItem so verlangt:<br />
&quot;[in] Pointer to a MENUITEMINFO structure that contains information about the new menu item&quot;</p>
<p>2. Ich finde es relativ mühselig am anfang mit der MSDN Library zurechtzukommen.Aber man kommt ja nicht drumherum. Bitte habt nachsicht wenn ich noch etwas ungeübt bin. Meine Frage: Wie kann ich mehrere Unterpunkte in das Submenü eintragen, also wie man es kennt, z.B. speichern öffnen usw usw? (MENUITEMINFO habe ich mir schon angeschaut, aber doch nicht so recht weitergekommen (bins noch net gewohnt eben).</p>
<p>3. Wo genau trage ich nun die ID des Menüelements ein, so dasss ich auf ereignisse in Verbindung mit diesem reagieren kann. (Steht bestimmt auch in MENUITEMINFO <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>4. Ist es überhaupt praktikabel die Menüs immer selbst zu gestalten ? Wie ihr seht, benutze ich ja keine Headerdateien um dies zu bewerkstelligen. Ich möchte nämlich bis aufs kleinste Detail die Kontrolle darüber haben was mein Programm macht.</p>
<p>5. Ich weiss, ist evtl schon etwas weit vorgegriffen, aber wie erstellt man später eigene Menüs. Ich habe hier im Forum gelesen, dass man alles selbst machen muss, was ja nicht weiter schlimm ist. Vielleicht könnt ihr mir einige Tips geben was dann alles getan werden muss, also was alles mit einfließt. Ich nehme mal an eigene DLLs werden auf jeden Fall nötig sein. Muss ich dann in den DLLs die Funtionen wie &quot;InsertMenuItem&quot; selbst implementieren ?<br />
Mir ist die grobe richtung noch nicht ganz klar wie es gemacht wird.</p>
<p>Okay, vielen Dank demjenigen, der sich die Mühe macht alles durchzulesen und mir einige Krüken oder gar Rollstuhl zur Verfügung zu stellen <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>Grüße<br />
kuRu</p>
]]></description><link>https://www.c-plusplus.net/forum/post/741129</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/741129</guid><dc:creator><![CDATA[kuRu]]></dc:creator><pubDate>Wed, 09 Mar 2005 09:03:01 GMT</pubDate></item><item><title><![CDATA[Reply to Fragen zur Menübar on Wed, 09 Mar 2005 09:38:11 GMT]]></title><description><![CDATA[<p>kuRu schrieb:</p>
<blockquote>
<p>1. Liege ich richtig mit der Annahmen, dass man mit &quot;MENUITEMINFO* CreateMenuItem&quot; eine Referenz auf das Menuiteminfo zurückgibt? Es ist ja in InsertMenuItem so verlangt:<br />
&quot;[in] Pointer to a MENUITEMINFO structure that contains information about the new menu item&quot;</p>
</blockquote>
<p>nein, es liefert einen pointer eine referenz ist etwas anderes</p>
<p>deine nächsten fragen fasse ich einfach mal zusammen.<br />
menü werden in der regel mit er mit resourcen erstellt.<br />
ich würde sagen du beschäftigst mal mit den vorteilen von resourcen files,<br />
dann wirst du erkennen das deine methode nicht sehr praktikabel ist.<br />
bsp:<br />
[cpp]<br />
// resource.rc<br />
#include &lt;windows.h&gt;<br />
#include &quot;resource.h&quot;</p>
<p>MAINMENU MENU<br />
{<br />
POPUP &quot;&amp;File&quot;<br />
{<br />
MENUITEM &quot;&amp;Open ...&quot;, IDM_OPEN<br />
MENUITEM SEPARATOR<br />
MENUITEM &quot;E&amp;xit&quot;, IDM_EXIT<br />
}</p>
<p>POPUP &quot;&amp;Help&quot;<br />
{<br />
MENUITEM &quot;&amp;About ...&quot;, IDM_ABOUT<br />
}<br />
}</p>
<p>// resource.h<br />
#define IDM_OPEN 9001<br />
#define IDM_EXIT 9002<br />
#define IDM_ABOUT 9003</p>
<p>// main.c<br />
int WINAPI WinMain(<br />
HINSTANCE hInstance,<br />
HINSTANCE hPrevInstance,<br />
LPSTR lpCmdLine,<br />
int nCmdShow)<br />
{<br />
WNDCLASS wc;<br />
//wc.... andere einstellungen<br />
<strong>wc.lpszMenuName = &quot;MAINMENU&quot;;</strong><br />
// ...<br />
BOOL CALLBACK WndProcMain(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)<br />
{<br />
switch(msg)<br />
{<br />
case WM_COMMAND:<br />
switch(LOWORD(wParam))<br />
{<br />
case IDM_OPEN:<br />
OpenFile(hwnd);<br />
break;<br />
[/cpp]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/741146</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/741146</guid><dc:creator><![CDATA[miller_m]]></dc:creator><pubDate>Wed, 09 Mar 2005 09:38:11 GMT</pubDate></item><item><title><![CDATA[Reply to Fragen zur Menübar on Wed, 09 Mar 2005 11:03:19 GMT]]></title><description><![CDATA[<p>Ehm, hoppala. Referenz, Pointer. Ist mir aber peinlich <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> Und das im 6. Semester.</p>
<p>Aber im groben danke schonmal. Jetzt weiss ich zumindest in welche Richtung ich arbeiten sollte.</p>
<p>Aber was ist mit eigens designten Menüs? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":-)"
      alt="🙂"
    /> (Interessiert mich nur, für mein Problem tuns die normalen auch voll und ganz)</p>
<p>Grüße kuRu</p>
]]></description><link>https://www.c-plusplus.net/forum/post/741213</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/741213</guid><dc:creator><![CDATA[kuRu]]></dc:creator><pubDate>Wed, 09 Mar 2005 11:03:19 GMT</pubDate></item><item><title><![CDATA[Reply to Fragen zur Menübar on Wed, 09 Mar 2005 11:10:08 GMT]]></title><description><![CDATA[<p>kuRu schrieb:</p>
<blockquote>
<p>Ehm, hoppala. Referenz, Pointer. Ist mir aber peinlich <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> Und das im 6. Semester.</p>
</blockquote>
<p><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="😃"
    /></p>
<p>kuRu schrieb:</p>
<blockquote>
<p>Aber was ist mit eigens designten Menüs? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":-)"
      alt="🙂"
    /> (Interessiert mich nur, für mein Problem tuns die normalen auch voll und ganz)</p>
</blockquote>
<p>was verstehst du unter designten und normalen?</p>
<p>[edit]<br />
link zu lesen <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="😉"
    /><br />
<a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/resources/menus/usingmenus.asp" rel="nofollow">http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/resources/menus/usingmenus.asp</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/741218</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/741218</guid><dc:creator><![CDATA[miller_m]]></dc:creator><pubDate>Wed, 09 Mar 2005 11:10:08 GMT</pubDate></item><item><title><![CDATA[Reply to Fragen zur Menübar on Wed, 09 Mar 2005 12:02:41 GMT]]></title><description><![CDATA[<p><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="😃"
    /></p>
<p>Ich meine so fesche Dinger, die man ab und zu bei Programmen sieht. Ich kenne jetzt z.B. auch nur ein Beispiel. Da wird das Feld, wenn man mit der Maus drübergeht nicht blau sondern Gelb mit einem schwarzen Rahmen markiert. Ausserdem hat der Markierungsbalken noch einen 3D Schattierungseffekt mit drin.</p>
<p>Sind so spielereien halt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> Ist im Grunde auch nicht so wichtig 4 me. Ist nur interessant.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/741265</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/741265</guid><dc:creator><![CDATA[kuRu]]></dc:creator><pubDate>Wed, 09 Mar 2005 12:02:41 GMT</pubDate></item><item><title><![CDATA[Reply to Fragen zur Menübar on Wed, 09 Mar 2005 12:04:45 GMT]]></title><description><![CDATA[<p>owner draw technik schimpft sich das --&gt; siehe obrigen link</p>
]]></description><link>https://www.c-plusplus.net/forum/post/741268</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/741268</guid><dc:creator><![CDATA[miller_m]]></dc:creator><pubDate>Wed, 09 Mar 2005 12:04:45 GMT</pubDate></item><item><title><![CDATA[Reply to Fragen zur Menübar on Wed, 09 Mar 2005 12:07:51 GMT]]></title><description><![CDATA[<p>Denkeschön <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
<p>Ich melde mich dann nachher nochmal wegen Datenbank Programmierung <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="😃"
    /> Das brauche ich nämlich auch <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="😃"
    /> <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="😃"
    /> <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="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/741271</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/741271</guid><dc:creator><![CDATA[kuRu]]></dc:creator><pubDate>Wed, 09 Mar 2005 12:07:51 GMT</pubDate></item></channel></rss>