<?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[Menue Eintrag ändern mit ModifyMenu  (WinCE)]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich versuche mit ModifyMenu den text des Menüs zur Laufzeit zu verändern.<br />
Das klappt soweit auch, nur bei den Hauptmenüeinträgen funktioniert es nicht, bzw. der Text läßt sich ändern, aber das Untermenü ist dann weg <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>
<p>Das ganze läuft auf WinCE 4.20 und wird mit eVC++ 4.0 übersetzt.</p>
<p>Kann mir da jemand weiterhelfen?</p>
<p>Mein Code sieht derzeit so aus:</p>
<pre><code class="language-cpp">BOOL CLangText::ReplaceMenuText(CMenu *pMenu, CString *Key, CString Item)
{
	if (pMenu==NULL) return 0;
	CString Text;
	CString NewItem;
	CMenu* pSubMenu;
	int i=0;
	BOOL ret=1;
	UINT ID;
	while(1){
		NewItem.Format(L&quot;%s%d&quot;,Item,i);
		Text =AfxGetApp()-&gt;GetProfileString(*Key,NewItem,L&quot;&quot;);
		if (Text==&quot;-&quot;) {i++;continue;}
		if (Text.GetLength()!=0){
			ID = pMenu-&gt;GetMenuItemID(i);
			pSubMenu = pMenu-&gt;GetSubMenu(i);
			if(pSubMenu!=NULL){
//				ret &amp;= pMenu-&gt;RemoveMenu(i,MF_BYPOSITION);
//				ret &amp;= pMenu-&gt;InsertMenu(i,MF_BYPOSITION | MF_POPUP | MF_STRING , (UINT) pSubMenu, Text);

//				ret &amp;= pMenu-&gt;ModifyMenu(i,MF_BYPOSITION | MF_POPUP | MF_STRING , (UINT) pSubMenu, Text);

				ret &amp;= pMenu-&gt;ModifyMenu(i,MF_BYPOSITION|MF_STRING,ID,Text);
			}
			else
				ret &amp;= pMenu-&gt;ModifyMenu(i,MF_BYPOSITION,ID,Text);

			if (ret)
				ReplaceMenuText(pMenu-&gt;GetSubMenu(i),Key,NewItem+_T(&quot;_&quot;));
		}
		else break;
		i++;
	}
	return ret;
}
</code></pre>
<p>Die Auskommentierten Zeilen sind Versuche die leider auch fehlgeschlagen sind.<br />
23.01.07:leider habe ich noch keine Lösung für dieses Problem <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>
]]></description><link>https://www.c-plusplus.net/forum/topic/171027/menue-eintrag-ändern-mit-modifymenu-wince</link><generator>RSS for Node</generator><lastBuildDate>Mon, 27 Apr 2026 16:35:54 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/171027.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 21 Jan 2007 22:54:07 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Menue Eintrag ändern mit ModifyMenu  (WinCE) on Tue, 23 Jan 2007 09:01:44 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich versuche mit ModifyMenu den text des Menüs zur Laufzeit zu verändern.<br />
Das klappt soweit auch, nur bei den Hauptmenüeinträgen funktioniert es nicht, bzw. der Text läßt sich ändern, aber das Untermenü ist dann weg <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>
<p>Das ganze läuft auf WinCE 4.20 und wird mit eVC++ 4.0 übersetzt.</p>
<p>Kann mir da jemand weiterhelfen?</p>
<p>Mein Code sieht derzeit so aus:</p>
<pre><code class="language-cpp">BOOL CLangText::ReplaceMenuText(CMenu *pMenu, CString *Key, CString Item)
{
	if (pMenu==NULL) return 0;
	CString Text;
	CString NewItem;
	CMenu* pSubMenu;
	int i=0;
	BOOL ret=1;
	UINT ID;
	while(1){
		NewItem.Format(L&quot;%s%d&quot;,Item,i);
		Text =AfxGetApp()-&gt;GetProfileString(*Key,NewItem,L&quot;&quot;);
		if (Text==&quot;-&quot;) {i++;continue;}
		if (Text.GetLength()!=0){
			ID = pMenu-&gt;GetMenuItemID(i);
			pSubMenu = pMenu-&gt;GetSubMenu(i);
			if(pSubMenu!=NULL){
//				ret &amp;= pMenu-&gt;RemoveMenu(i,MF_BYPOSITION);
//				ret &amp;= pMenu-&gt;InsertMenu(i,MF_BYPOSITION | MF_POPUP | MF_STRING , (UINT) pSubMenu, Text);

//				ret &amp;= pMenu-&gt;ModifyMenu(i,MF_BYPOSITION | MF_POPUP | MF_STRING , (UINT) pSubMenu, Text);

				ret &amp;= pMenu-&gt;ModifyMenu(i,MF_BYPOSITION|MF_STRING,ID,Text);
			}
			else
				ret &amp;= pMenu-&gt;ModifyMenu(i,MF_BYPOSITION,ID,Text);

			if (ret)
				ReplaceMenuText(pMenu-&gt;GetSubMenu(i),Key,NewItem+_T(&quot;_&quot;));
		}
		else break;
		i++;
	}
	return ret;
}
</code></pre>
<p>Die Auskommentierten Zeilen sind Versuche die leider auch fehlgeschlagen sind.<br />
23.01.07:leider habe ich noch keine Lösung für dieses Problem <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1214108</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1214108</guid><dc:creator><![CDATA[_Claus_]]></dc:creator><pubDate>Tue, 23 Jan 2007 09:01:44 GMT</pubDate></item></channel></rss>