<?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[Problem Kontextmenü: Verbinden mit Dialogelementen]]></title><description><![CDATA[<p>Hi Leute,</p>
<p>ich bekomme immer nur ein leeres Kontextmenü bei rechtsklick. Habe herrausgefunden das er mir als Rückgabewert von SetMenu(..) eine 0 zurückgibt was bedeutet:(wörtlich)</p>
<p>BOOL SetMenu( CMenu* pMenu );</p>
<p>Return Value</p>
<p>Nonzero if the menu is changed; otherwise 0.</p>
<p>Also ich bastle gerade an einer Dialoganwendung, dort habe ich mehrere CListCtrl Objekte eingefügt, denen will ich nun ein und dasselbe Kontextmenü zuweisen. Natürlich hab ich auch eine Menüresource erstellt sowie eine Membervariable vom typ CMenu. Das zuweisen von der resource in die membervariable macht er ja noch, laut rückgabewert. Aber das verbinden mit meinen CListCtrl nicht. <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>
<pre><code class="language-cpp">//zu Dialogklasse
public:
    CMenu m_mContext;

//...

BOOL CPlanerTestDlg::OnInitDialog()
{
    CDialog::OnInitDialog();
    //-
    m_mContext.LoadMenu(IDR_CONTEXT); 
    GetDlgItem(IDC_LIST1)-&gt;SetMenu(&amp;m_mContext);
    GetDlgItem(IDC_LIST2)-&gt;SetMenu(&amp;m_mContext);
    GetDlgItem(IDC_LIST3)-&gt;SetMenu(&amp;m_mContext);
    //.......
    //-
    return TRUE;  
}

//...

void CPlanerTestDlg::OnContextMenu(CWnd* pWnd, CPoint point) 
{
m_mContext.TrackPopupMenu(TPM_RIGHTBUTTON+TPM_RIGHTALIGN,point.x,point.y,this);
}
</code></pre>
<p>Ich hoffe mir kann einer helfen. Ich danke euch im Vorraus.</p>
<p>MfG RobRoy</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/44427/problem-kontextmenü-verbinden-mit-dialogelementen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 25 Apr 2026 10:44:29 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/44427.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 30 Jul 2003 21:29:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem Kontextmenü: Verbinden mit Dialogelementen on Wed, 30 Jul 2003 21:29:58 GMT]]></title><description><![CDATA[<p>Hi Leute,</p>
<p>ich bekomme immer nur ein leeres Kontextmenü bei rechtsklick. Habe herrausgefunden das er mir als Rückgabewert von SetMenu(..) eine 0 zurückgibt was bedeutet:(wörtlich)</p>
<p>BOOL SetMenu( CMenu* pMenu );</p>
<p>Return Value</p>
<p>Nonzero if the menu is changed; otherwise 0.</p>
<p>Also ich bastle gerade an einer Dialoganwendung, dort habe ich mehrere CListCtrl Objekte eingefügt, denen will ich nun ein und dasselbe Kontextmenü zuweisen. Natürlich hab ich auch eine Menüresource erstellt sowie eine Membervariable vom typ CMenu. Das zuweisen von der resource in die membervariable macht er ja noch, laut rückgabewert. Aber das verbinden mit meinen CListCtrl nicht. <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>
<pre><code class="language-cpp">//zu Dialogklasse
public:
    CMenu m_mContext;

//...

BOOL CPlanerTestDlg::OnInitDialog()
{
    CDialog::OnInitDialog();
    //-
    m_mContext.LoadMenu(IDR_CONTEXT); 
    GetDlgItem(IDC_LIST1)-&gt;SetMenu(&amp;m_mContext);
    GetDlgItem(IDC_LIST2)-&gt;SetMenu(&amp;m_mContext);
    GetDlgItem(IDC_LIST3)-&gt;SetMenu(&amp;m_mContext);
    //.......
    //-
    return TRUE;  
}

//...

void CPlanerTestDlg::OnContextMenu(CWnd* pWnd, CPoint point) 
{
m_mContext.TrackPopupMenu(TPM_RIGHTBUTTON+TPM_RIGHTALIGN,point.x,point.y,this);
}
</code></pre>
<p>Ich hoffe mir kann einer helfen. Ich danke euch im Vorraus.</p>
<p>MfG RobRoy</p>
]]></description><link>https://www.c-plusplus.net/forum/post/321408</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/321408</guid><dc:creator><![CDATA[RobRoy]]></dc:creator><pubDate>Wed, 30 Jul 2003 21:29:58 GMT</pubDate></item><item><title><![CDATA[Reply to Problem Kontextmenü: Verbinden mit Dialogelementen on Wed, 30 Jul 2003 23:20:25 GMT]]></title><description><![CDATA[<p>m_mContext.**GetSubMenu(0)-&gt;**TrackPopupMenu(TPM_RIGHTBUTTON+TPM_RIGHTALIGN,point.x,point.y,this);</p>
<p>SetMenu kannst du weglassen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/321466</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/321466</guid><dc:creator><![CDATA[newvet]]></dc:creator><pubDate>Wed, 30 Jul 2003 23:20:25 GMT</pubDate></item><item><title><![CDATA[Reply to Problem Kontextmenü: Verbinden mit Dialogelementen on Thu, 31 Jul 2003 01:51:41 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich hab das mal probiert, er compiliert es auch anstandslos auch kann ich das programm starten, aber beim rechtsklick gibt er mir eine fehlermeldung aus.<br />
'Der Befehl read konnte nicht auf Speicher ...blablabla... angewendet werden' oder so ähnlich. Wie vorgeschlagen hab ich den Befehl SetMenu() aus dem Programm entfernt.<br />
Help plz <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="🙄"
    /><br />
RobRoy</p>
]]></description><link>https://www.c-plusplus.net/forum/post/321491</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/321491</guid><dc:creator><![CDATA[RobRoy]]></dc:creator><pubDate>Thu, 31 Jul 2003 01:51:41 GMT</pubDate></item></channel></rss>