<?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[Dynamisch erstelltes Menü und Haken]]></title><description><![CDATA[<p>Ich erstelle Menüeinträge aus einer Datenbank:</p>
<pre><code class="language-cpp">int cid = -1;
while (!reco-&gt;IsEOF())
{
  cid++;
  COleVariant fv;
  reco-&gt;GetFieldValue(0,fv);
  CString mitem = fv.pbVal;
  m.GetSubMenu(3)-&gt;GetSubMenu(0)-&gt;InsertMenu(0,MF_BYPOSITION|MF_STRING,BOERSEN_ID1+cid,mitem);
 if(GetConfig(mitem) ==&quot;Ja&quot;)//GetConfig:Funktion die aus einer Konfigurationstabelle in der DB liest
 {
  m.GetSubMenu(3)-&gt;GetSubMenu(0)-&gt;CheckMenuItem(MF_BYCOMMAND|MF_CHECKED,BOERSEN_ID1+cid);
  boerse_suchen.Add(1);//CUIntArray das den Zustand der Menüeinträge speichert
 }
 else
 {
  m.GetSubMenu(3)-&gt;GetSubMenu(0)-&gt;CheckMenuItem(MF_BYCOMMAND|MF_UNCHECKED,BOERSEN_ID1+cid);
  boerse_suchen.Add(0);
  }
  reco-&gt;MoveNext();
}
</code></pre>
<p>und frage dann mit ON_COMMAND_RANGE ab,ob auf einen der Einträge geklickt wurde:</p>
<pre><code class="language-cpp">void CMeinDlg::OnMenupunkt(UINT nID)
{
	CString mitem;
	m.GetMenuString(nID,mitem,MF_BYCOMMAND);
	if(boerse_suchen[nID-BOERSEN_ID1]== 0)
	  {
		  m.GetSubMenu(3)-&gt;GetSubMenu(0)-&gt;CheckMenuItem(MF_BYCOMMAND|MF_CHECKED,nID);
		  boerse_suchen[nID-BOERSEN_ID1]=1;
		  SetConfig(mitem,&quot;Ja&quot;);
	  }
	  else
	  {
		  m.GetSubMenu(3)-&gt;GetSubMenu(0)-&gt;CheckMenuItem(MF_BYCOMMAND|MF_UNCHECKED,nID);
		  boerse_suchen[nID-BOERSEN_ID1]=0;
		  SetConfig(mitem,&quot;Nein&quot;);
	  }
}
</code></pre>
<p>Aber weder beim Start des Programms noch nach klicken auf einen Eintrag wird dieser angehakt.Was mache ich falsch?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/61550/dynamisch-erstelltes-menü-und-haken</link><generator>RSS for Node</generator><lastBuildDate>Wed, 03 Jun 2026 17:41:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/61550.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 15 Jan 2004 09:41:32 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Dynamisch erstelltes Menü und Haken on Thu, 15 Jan 2004 09:41:32 GMT]]></title><description><![CDATA[<p>Ich erstelle Menüeinträge aus einer Datenbank:</p>
<pre><code class="language-cpp">int cid = -1;
while (!reco-&gt;IsEOF())
{
  cid++;
  COleVariant fv;
  reco-&gt;GetFieldValue(0,fv);
  CString mitem = fv.pbVal;
  m.GetSubMenu(3)-&gt;GetSubMenu(0)-&gt;InsertMenu(0,MF_BYPOSITION|MF_STRING,BOERSEN_ID1+cid,mitem);
 if(GetConfig(mitem) ==&quot;Ja&quot;)//GetConfig:Funktion die aus einer Konfigurationstabelle in der DB liest
 {
  m.GetSubMenu(3)-&gt;GetSubMenu(0)-&gt;CheckMenuItem(MF_BYCOMMAND|MF_CHECKED,BOERSEN_ID1+cid);
  boerse_suchen.Add(1);//CUIntArray das den Zustand der Menüeinträge speichert
 }
 else
 {
  m.GetSubMenu(3)-&gt;GetSubMenu(0)-&gt;CheckMenuItem(MF_BYCOMMAND|MF_UNCHECKED,BOERSEN_ID1+cid);
  boerse_suchen.Add(0);
  }
  reco-&gt;MoveNext();
}
</code></pre>
<p>und frage dann mit ON_COMMAND_RANGE ab,ob auf einen der Einträge geklickt wurde:</p>
<pre><code class="language-cpp">void CMeinDlg::OnMenupunkt(UINT nID)
{
	CString mitem;
	m.GetMenuString(nID,mitem,MF_BYCOMMAND);
	if(boerse_suchen[nID-BOERSEN_ID1]== 0)
	  {
		  m.GetSubMenu(3)-&gt;GetSubMenu(0)-&gt;CheckMenuItem(MF_BYCOMMAND|MF_CHECKED,nID);
		  boerse_suchen[nID-BOERSEN_ID1]=1;
		  SetConfig(mitem,&quot;Ja&quot;);
	  }
	  else
	  {
		  m.GetSubMenu(3)-&gt;GetSubMenu(0)-&gt;CheckMenuItem(MF_BYCOMMAND|MF_UNCHECKED,nID);
		  boerse_suchen[nID-BOERSEN_ID1]=0;
		  SetConfig(mitem,&quot;Nein&quot;);
	  }
}
</code></pre>
<p>Aber weder beim Start des Programms noch nach klicken auf einen Eintrag wird dieser angehakt.Was mache ich falsch?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/436867</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/436867</guid><dc:creator><![CDATA[Andorxor]]></dc:creator><pubDate>Thu, 15 Jan 2004 09:41:32 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamisch erstelltes Menü und Haken on Thu, 15 Jan 2004 12:01:45 GMT]]></title><description><![CDATA[<p>Hast du eine Dialogfeldbasierende Anwendung?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/436980</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/436980</guid><dc:creator><![CDATA[Rapha]]></dc:creator><pubDate>Thu, 15 Jan 2004 12:01:45 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamisch erstelltes Menü und Haken on Thu, 15 Jan 2004 12:04:54 GMT]]></title><description><![CDATA[<p>Ja</p>
]]></description><link>https://www.c-plusplus.net/forum/post/436984</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/436984</guid><dc:creator><![CDATA[Andorxor]]></dc:creator><pubDate>Thu, 15 Jan 2004 12:04:54 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamisch erstelltes Menü und Haken on Thu, 15 Jan 2004 12:33:11 GMT]]></title><description><![CDATA[<p>Hat sich erledigt <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>
]]></description><link>https://www.c-plusplus.net/forum/post/436996</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/436996</guid><dc:creator><![CDATA[Rapha]]></dc:creator><pubDate>Thu, 15 Jan 2004 12:33:11 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamisch erstelltes Menü und Haken on Thu, 15 Jan 2004 12:24:03 GMT]]></title><description><![CDATA[<p>Habs selbst gefunden hab die Parameter in der falschen Reihenfolgen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/437002</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/437002</guid><dc:creator><![CDATA[Andorxor]]></dc:creator><pubDate>Thu, 15 Jan 2004 12:24:03 GMT</pubDate></item></channel></rss>