<?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[MenuHelp -&amp;gt; Was soll LPUINT sein ??]]></title><description><![CDATA[<p>hi,</p>
<p>ich möchte, dass in der statuszeile ein bestimmter text erscheint, wenn man mit der maus auf einem bestimmten menü-eintrag steht.</p>
<p>dies ist sehr user-freundlich und wird deshalb auch von ms unterstützt. es gibt sogar eine hilfsfunktion dafür, das alles zu managen: [msdn]MenuHelp[/msdn]<br />
(gleich mal neue syntax getest)</p>
<p>ich komm aber mit dem letzten Parameter nicht klar. kann mir das jemand mal erklären. ein besipiel würde es auch schon tun.</p>
<p>thx,<br />
lw</p>
<p>≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡</p>
<p>ich teste mal die neue sytax: (gehört nicht zum beitrag)<br />
x<sup>2</sup> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/2194.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--left-right_arrow"
      title=":left-right_arrow:"
      alt="↔"
    /> √2<br />
α+β+γ=180°<br />
1/∞=0<br />
spaß mit google:<br />
<a href="https://www.google.de/search?&amp;q=the%20answer%20to%20life%2C%20the%20universe%20and%20everything" rel="nofollow">Google: the answer to life, the universe and everything</a><br />
<a href="https://www.google.de/search?&amp;q=98.6%20degrees%20Fahrenheit%20in%20Celsius%3F" rel="nofollow">Google: 98.6 degrees Fahrenheit in Celsius?</a><br />
<a href="https://www.google.de/search?&amp;q=kilometers%20in%20a%20light%20year" rel="nofollow">Google: kilometers in a light year</a><br />
<a href="https://www.google.de/search?&amp;q=30%20gigabytes%20%2F%20160%20kbps" rel="nofollow">Google: 30 gigabytes / 160 kbps</a></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/64119/menuhelp-gt-was-soll-lpuint-sein</link><generator>RSS for Node</generator><lastBuildDate>Tue, 07 Apr 2026 08:42:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/64119.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 08 Feb 2004 09:51:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to MenuHelp -&amp;gt; Was soll LPUINT sein ?? on Sun, 08 Feb 2004 09:51:00 GMT]]></title><description><![CDATA[<p>hi,</p>
<p>ich möchte, dass in der statuszeile ein bestimmter text erscheint, wenn man mit der maus auf einem bestimmten menü-eintrag steht.</p>
<p>dies ist sehr user-freundlich und wird deshalb auch von ms unterstützt. es gibt sogar eine hilfsfunktion dafür, das alles zu managen: [msdn]MenuHelp[/msdn]<br />
(gleich mal neue syntax getest)</p>
<p>ich komm aber mit dem letzten Parameter nicht klar. kann mir das jemand mal erklären. ein besipiel würde es auch schon tun.</p>
<p>thx,<br />
lw</p>
<p>≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡</p>
<p>ich teste mal die neue sytax: (gehört nicht zum beitrag)<br />
x<sup>2</sup> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/2194.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--left-right_arrow"
      title=":left-right_arrow:"
      alt="↔"
    /> √2<br />
α+β+γ=180°<br />
1/∞=0<br />
spaß mit google:<br />
<a href="https://www.google.de/search?&amp;q=the%20answer%20to%20life%2C%20the%20universe%20and%20everything" rel="nofollow">Google: the answer to life, the universe and everything</a><br />
<a href="https://www.google.de/search?&amp;q=98.6%20degrees%20Fahrenheit%20in%20Celsius%3F" rel="nofollow">Google: 98.6 degrees Fahrenheit in Celsius?</a><br />
<a href="https://www.google.de/search?&amp;q=kilometers%20in%20a%20light%20year" rel="nofollow">Google: kilometers in a light year</a><br />
<a href="https://www.google.de/search?&amp;q=30%20gigabytes%20%2F%20160%20kbps" rel="nofollow">Google: 30 gigabytes / 160 kbps</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/454277</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/454277</guid><dc:creator><![CDATA[Lawilog]]></dc:creator><pubDate>Sun, 08 Feb 2004 09:51:00 GMT</pubDate></item><item><title><![CDATA[Reply to MenuHelp -&amp;gt; Was soll LPUINT sein ?? on Sun, 08 Feb 2004 10:35:51 GMT]]></title><description><![CDATA[<p>der letzte Parameter muss auf einen int Array zeigen, der Resource String IDs und HMENU Paaren enthält. <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/454291</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/454291</guid><dc:creator><![CDATA[Shlo]]></dc:creator><pubDate>Sun, 08 Feb 2004 10:35:51 GMT</pubDate></item><item><title><![CDATA[Reply to MenuHelp -&amp;gt; Was soll LPUINT sein ?? on Sun, 08 Feb 2004 10:45:01 GMT]]></title><description><![CDATA[<p>na ach. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>nu is aber HMENU kein int. <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>und wie soll ich das angeben? <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="😕"
    /><br />
ich habs so probiert, und so gehts nicht:<br />
[code]UINT MenuHelpArray[] = {IDMH_ABOUT, GetSubMenu(hMenu_Spiel, 0),<br />
IDMH_NEWGAME, GetSubMenu(hMenu_Spiel, 2),<br />
...<br />
};</p>
<p>oder erst Handel und dann ResID ? ich checks net.</p>
<p>lw</p>
]]></description><link>https://www.c-plusplus.net/forum/post/454294</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/454294</guid><dc:creator><![CDATA[Lawilog]]></dc:creator><pubDate>Sun, 08 Feb 2004 10:45:01 GMT</pubDate></item><item><title><![CDATA[Reply to MenuHelp -&amp;gt; Was soll LPUINT sein ?? on Sun, 08 Feb 2004 10:59:46 GMT]]></title><description><![CDATA[<p>du musst casten und außerdem muss es ein Toplevel Menü Handle sein <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/454300</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/454300</guid><dc:creator><![CDATA[Shlo]]></dc:creator><pubDate>Sun, 08 Feb 2004 10:59:46 GMT</pubDate></item><item><title><![CDATA[Reply to MenuHelp -&amp;gt; Was soll LPUINT sein ?? on Sun, 08 Feb 2004 12:14:56 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/1653">@Lawilog</a>: Mach dir doch ne Struktur:</p>
<pre><code class="language-cpp">struct MenuHelpStruct
{
   UINT   uiID;
   HANDLE hSubMenu;
};
</code></pre>
<p>Dann kannste das so schreiben:</p>
<pre><code class="language-cpp">MenuHelpStruct MenuHelpArray[] = {{IDMH_ABOUT, GetSubMenu(hMenu_Spiel, 0)},
                                  {IDMH_NEWGAME, GetSubMenu(hMenu_Spiel, 2)},
                                  ...,
                                  {IDMH_ABOUT, GetSubMenu(hMenu_Spiel, 12)}};
</code></pre>
<p>Jetzt musste nur noch casten:</p>
<pre><code class="language-cpp">MenuHelp(..., (LPUINT)MenuHelpArray);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/454344</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/454344</guid><dc:creator><![CDATA[WebFritzi]]></dc:creator><pubDate>Sun, 08 Feb 2004 12:14:56 GMT</pubDate></item><item><title><![CDATA[Reply to MenuHelp -&amp;gt; Was soll LPUINT sein ?? on Sun, 08 Feb 2004 14:40:31 GMT]]></title><description><![CDATA[<p>ha. danke. es geht jetzt fast.</p>
<p>der struct ist ist nicht unbedingt notwendig.<br />
bringt nur 4 codezeilen und jeweils 2 klammern mehr mit sich. <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>nur hab ich jetzt noch ein seltsasames phenomen:<br />
die menüeinträge zeigen keinen text an, sondern nur die hauptmenüs zeigen den text der menüeinträge des ersten menüs.</p>
<p>worauf muss sich das handel besziehen ? bestimmt doch auf den menüeintrag.<br />
aber weder: GetSubMenu(GetSubMenu(GetMenu(hWnd), 0), 0)<br />
noch: GetSubMenu(GetMenu(hWnd), 0)<br />
noch: GetMenu(hWnd)<br />
funktioniert.</p>
<p>gibt es vorschriften für die resource-ids oder so ?</p>
<p>lw</p>
]]></description><link>https://www.c-plusplus.net/forum/post/454458</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/454458</guid><dc:creator><![CDATA[Lawilog]]></dc:creator><pubDate>Sun, 08 Feb 2004 14:40:31 GMT</pubDate></item><item><title><![CDATA[Reply to MenuHelp -&amp;gt; Was soll LPUINT sein ?? on Sun, 08 Feb 2004 18:07:19 GMT]]></title><description><![CDATA[<p>wie komm ich an das richtige menü-handel ran ?</p>
<p>weiß das denn niemand ?</p>
<p>lw</p>
]]></description><link>https://www.c-plusplus.net/forum/post/454617</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/454617</guid><dc:creator><![CDATA[Lawilog]]></dc:creator><pubDate>Sun, 08 Feb 2004 18:07:19 GMT</pubDate></item><item><title><![CDATA[Reply to MenuHelp -&amp;gt; Was soll LPUINT sein ?? on Sun, 08 Feb 2004 18:33:42 GMT]]></title><description><![CDATA[<p>Welches Handle willst du denn haben? Und wie ist dein Menü aufgebaut</p>
]]></description><link>https://www.c-plusplus.net/forum/post/454634</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/454634</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Sun, 08 Feb 2004 18:33:42 GMT</pubDate></item><item><title><![CDATA[Reply to MenuHelp -&amp;gt; Was soll LPUINT sein ?? on Sun, 08 Feb 2004 18:49:45 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">{
	POPUP &quot;&amp;Spiel&quot;
	{
		MENUITEM &quot;&amp;Über LawilogSkat&quot;,			IDM_ABOUT
		MENUITEM SEPARATOR
		MENUITEM &quot;&amp;Neues Spiel&quot;,				IDM_NEWGAME
		MENUITEM &quot;&amp;Dieses Spiel beenden&quot;,		IDM_CANCELGAME
		MENUITEM SEPARATOR
		MENUITEM &quot;&amp;Optionen&quot;					IDM_OPTIONS
		MENUITEM SEPARATOR
		MENUITEM &quot;&amp;Beenden&quot;,					IDM_QUIT
	}

	POPUP &quot;&amp;Netzwerkspiel&quot;
	{
		MENUITEM &quot;&amp;Netzwerlspiel starten&quot;		IDM_NETSTART
		MENUITEM &quot;&amp;An Netzwerkspiel teilnehmen&quot;	IDM_NETJOIN
	}

	POPUP &quot;&amp;Hilfe&quot;
	{
		MENUITEM &quot;&amp;SchnellHilfe&quot;,				IDM_FASTHELP
		MENUITEM &quot;&amp;Hilfe zum SkatSpiel&quot;,		IDM_SKATHELP
	}
}
</code></pre>
<p>ich brauch jetzt das handel von z.b. &quot;Neues Spiel&quot;.<br />
aber das hab ich schon probiert:<br />
GetSubMenu(GetSubMenu(GetMenu(hWnd), 0), 2)</p>
<p>ich bin mit meinen latein echt am ende. bis hin zu GetSubMenu(GetMenu(hWnd), 0) gibt IsMenu() noch true zurück, aber dann hörts auf. ich steh kurz vor der verzweiflung.</p>
<p>lw</p>
]]></description><link>https://www.c-plusplus.net/forum/post/454649</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/454649</guid><dc:creator><![CDATA[Lawilog]]></dc:creator><pubDate>Sun, 08 Feb 2004 18:49:45 GMT</pubDate></item><item><title><![CDATA[Reply to MenuHelp -&amp;gt; Was soll LPUINT sein ?? on Sun, 08 Feb 2004 19:08:20 GMT]]></title><description><![CDATA[<p>Das Problem ist eben, dass diese Menu-Items keine Sub-Menus haben, deswegen schlägt GetSubMenu dann fehl.</p>
<blockquote>
<p>If the menu item does not activate a drop-down menu or submenu, the return value is NULL.</p>
</blockquote>
<p>Aber wirklich weiterhelfen kann ich dir leider auch nicht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/454674</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/454674</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Sun, 08 Feb 2004 19:08:20 GMT</pubDate></item><item><title><![CDATA[Reply to MenuHelp -&amp;gt; Was soll LPUINT sein ?? on Sun, 08 Feb 2004 22:43:33 GMT]]></title><description><![CDATA[<p>es hat mir gereicht.<br />
ich scheiß auf diese verfuckte ms-funktion!! (sorry, das musste raus...)</p>
<p>hab mir meine eigene funktion geschrieben:</p>
<pre><code class="language-cpp">#include &lt;windows&gt;

using namespace std;

/*Info:
MyMenuHelp ist eine Hilfsfunktion, die die WM_MENUSELECT Nachricht verarbeitet.

Parameter:
	WPARAM wParam - wParam von WM_MENUSELECT
	HWND hStausBar - gültiges Handel der Statuszeile
	UINT* MenuID_Array - Array der MenüIDs
	UINT* ResID_Array - Array der StringtableResourceIDs (in gleicher Reinfolge wie MenuID_Array)
	int iCount - Anzahl der Elemente im Array

Anhand von wParam wird das entsprechende MenuItem aus dem MenuID_Array herausgesucht
und dann aus der dazugehörigen ResourceID in ResID_Array ein String mittels LoadString() geladen,
der dann in der Statuszeile (hStausBar) angezeigt wird.

(Gibt bei Erfolg true zurück, im Fehlerfall false.)
*/

#define HELPSTRING_BUFFER_SIZE 1024

bool MyMenuHelp(WPARAM wParam, HWND hStausBar, HINSTANCE hInstance,
				UINT* MenuID_Array, UINT* ResID_Array, int iCount)
{
	static char * AlterStatustext;
	static bool bFirstCall = true;
	if(bFirstCall)
	{
		bFirstCall = false;
		int len = GetWindowTextLength(hStausBar)+1;
		AlterStatustext = new char[len];
		GetWindowText(hStausBar, AlterStatustext, len);
	}
	if(HIWORD(wParam) == 0xFFFF)//Menü wird geschlossen
	{
		bFirstCall = true;
		SetWindowText(hStausBar, AlterStatustext);
		delete [] AlterStatustext;
	}
	UINT MenuID = LOWORD(wParam);
	int iPos = 0;
	bool bNotFound = true;
	while(iPos &lt; iCount)
	{
		if(MenuID_Array[iPos] == MenuID)
		{
			bNotFound = false;
			break;
		}
		iPos++;
	}
	if(bNotFound) return false;
	else
	{
		char* HelpString = new char[HELPSTRING_BUFFER_SIZE];
		LoadString(hInstance, ResID_Array[iPos], HelpString, HELPSTRING_BUFFER_SIZE-1);
		SetWindowText(hStausBar, HelpString);
		delete [] HelpString;
	}
	return true;
}
</code></pre>
<p>implementiert sieht das ganze dann so aus:</p>
<pre><code class="language-cpp">case WM_MENUSELECT:
{
	static UINT MenuID_Array[] = {IDM_ABOUT,
		IDM_NEWGAME,
		IDM_CANCELGAME,
		IDM_OPTIONS,
		IDM_QUIT,
		IDM_NETSTART,
		IDM_NETJOIN,
		IDM_FASTHELP,
		IDM_SKATHELP};
	static UINT ResID_Array[] = {IDMH_ABOUT,
		IDMH_NEWGAME,
		IDMH_CANCELGAME,
		IDMH_OPTIONS,
		IDMH_QUIT,
		IDMH_NETSTART,
		IDMH_NETJOIN,
		IDMH_FASTHELP,
		IDMH_SKATHELP};
	MyMenuHelp(wParam, hStausBar, hInstance, MenuID_Array, ResID_Array, 9);
	return 0;
}
</code></pre>
<p>so. jetzt hab ich mir meinen schlaf aber rätlich verdient.</p>
<p>lw</p>
]]></description><link>https://www.c-plusplus.net/forum/post/454807</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/454807</guid><dc:creator><![CDATA[Lawilog]]></dc:creator><pubDate>Sun, 08 Feb 2004 22:43:33 GMT</pubDate></item></channel></rss>