<?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[Auf die Member-Variablen der CMeineAnwendungView von einem CListCtrl-Steuerelement einer anderen Klasse zugreifen]]></title><description><![CDATA[<p>Hallo,</p>
<p>Nehmen Sie an, dass es eine <em>CFormView</em>- Ansicht gibt, (die Deklaration z.B.)</p>
<pre><code class="language-cpp">class CMeineAnwendungView : public CFormView
</code></pre>
<p>die einen <em>Text</em> (ID: <strong>IDC_Warnung</strong>) und ein <em>Listenelement</em> (ID: <strong>IDC_List</strong>) enthält.</p>
<p>In der Klasse <em>CMeineAnwendungView</em> ist <strong>m_Warnung</strong> als public CString Variable deklariert damit es mit der Text- Steuerelement <strong>IDC_Warnung</strong> verknüpft ist.</p>
<p>In der Datei <em>MeineAnwendungView.cpp</em> befindet sich auch die Funktion:</p>
<pre><code class="language-cpp">void CMeineAnwendungView::OnInitialUpdate()
{
	CFormView::OnInitialUpdate();
	GetParentFrame()-&gt;RecalcLayout();
	ResizeParentToFit();
	m_Warnung=&quot;OK&quot;; // Diese letzten zwei Anweisungen habe ich hinzugefügt
	UpdateData(FALSE); // um nur zu Prüfen dass sich der Text des Text-Steuerelements problemlos verändert
}
</code></pre>
<p>So weit, so gut...</p>
<p>Danach habe ich mit Hilfe der Klassen-Assistenten eine neue Klasse namens <em>MeineListe</em> für das Listenelement <strong>IDC_List</strong> und<br />
anschließend eine Nachrichten-Routine für den Mouseklick innerhalb dieses Listenelements erstellt.</p>
<pre><code class="language-cpp">void MeineListe::OnClickList(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here	
	*pResult = 0;
}
</code></pre>
<p>Jetzt möchte ich durch die Ereignis-Funktion</p>
<pre><code class="language-cpp">MeineListe::OnClickList()
</code></pre>
<p>auf die Member- Variable m_Warnung der Klasse <em>CMeineAnwendungView</em> zugreifen. Zu diesem Zweck, habe ich eine zusatzliche Variable innerhalb der Klasse <em>MeineListe</em> vorgesehen, das funktionierte aber nicht.</p>
<p>Mittlerweile beachten Sie bitte, dass es sehr einfach wäre, wenn das von derselben Klasse getan werden müsste, z.B. wie in der Funktion</p>
<pre><code class="language-cpp">void CMeineAnwendungView::OnInitialUpdate()
{
m_Warnung=&quot;OK&quot;; 	
UpdateData(FALSE); 
}
</code></pre>
<p>Auf keinen Fall kann ich auf die Member-Variable <strong>m_Warnung</strong> der Klasse <em>CMeineAnwendungView</em> von dem Listenelement <strong>IDC_List</strong> der Klasse <em>MeineListe</em> zugreifen und ich bin darüber völlig ratlos.</p>
<p>Wie kann ich das geeignet schaffen?</p>
<p>Vielen Dank im Voraus.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/149504/auf-die-member-variablen-der-cmeineanwendungview-von-einem-clistctrl-steuerelement-einer-anderen-klasse-zugreifen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 22 Jul 2026 03:40:05 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/149504.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 06 Jun 2006 15:58:13 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Auf die Member-Variablen der CMeineAnwendungView von einem CListCtrl-Steuerelement einer anderen Klasse zugreifen on Tue, 06 Jun 2006 15:58:13 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Nehmen Sie an, dass es eine <em>CFormView</em>- Ansicht gibt, (die Deklaration z.B.)</p>
<pre><code class="language-cpp">class CMeineAnwendungView : public CFormView
</code></pre>
<p>die einen <em>Text</em> (ID: <strong>IDC_Warnung</strong>) und ein <em>Listenelement</em> (ID: <strong>IDC_List</strong>) enthält.</p>
<p>In der Klasse <em>CMeineAnwendungView</em> ist <strong>m_Warnung</strong> als public CString Variable deklariert damit es mit der Text- Steuerelement <strong>IDC_Warnung</strong> verknüpft ist.</p>
<p>In der Datei <em>MeineAnwendungView.cpp</em> befindet sich auch die Funktion:</p>
<pre><code class="language-cpp">void CMeineAnwendungView::OnInitialUpdate()
{
	CFormView::OnInitialUpdate();
	GetParentFrame()-&gt;RecalcLayout();
	ResizeParentToFit();
	m_Warnung=&quot;OK&quot;; // Diese letzten zwei Anweisungen habe ich hinzugefügt
	UpdateData(FALSE); // um nur zu Prüfen dass sich der Text des Text-Steuerelements problemlos verändert
}
</code></pre>
<p>So weit, so gut...</p>
<p>Danach habe ich mit Hilfe der Klassen-Assistenten eine neue Klasse namens <em>MeineListe</em> für das Listenelement <strong>IDC_List</strong> und<br />
anschließend eine Nachrichten-Routine für den Mouseklick innerhalb dieses Listenelements erstellt.</p>
<pre><code class="language-cpp">void MeineListe::OnClickList(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here	
	*pResult = 0;
}
</code></pre>
<p>Jetzt möchte ich durch die Ereignis-Funktion</p>
<pre><code class="language-cpp">MeineListe::OnClickList()
</code></pre>
<p>auf die Member- Variable m_Warnung der Klasse <em>CMeineAnwendungView</em> zugreifen. Zu diesem Zweck, habe ich eine zusatzliche Variable innerhalb der Klasse <em>MeineListe</em> vorgesehen, das funktionierte aber nicht.</p>
<p>Mittlerweile beachten Sie bitte, dass es sehr einfach wäre, wenn das von derselben Klasse getan werden müsste, z.B. wie in der Funktion</p>
<pre><code class="language-cpp">void CMeineAnwendungView::OnInitialUpdate()
{
m_Warnung=&quot;OK&quot;; 	
UpdateData(FALSE); 
}
</code></pre>
<p>Auf keinen Fall kann ich auf die Member-Variable <strong>m_Warnung</strong> der Klasse <em>CMeineAnwendungView</em> von dem Listenelement <strong>IDC_List</strong> der Klasse <em>MeineListe</em> zugreifen und ich bin darüber völlig ratlos.</p>
<p>Wie kann ich das geeignet schaffen?</p>
<p>Vielen Dank im Voraus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1072631</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1072631</guid><dc:creator><![CDATA[aurora72]]></dc:creator><pubDate>Tue, 06 Jun 2006 15:58:13 GMT</pubDate></item><item><title><![CDATA[Reply to Auf die Member-Variablen der CMeineAnwendungView von einem CListCtrl-Steuerelement einer anderen Klasse zugreifen on Tue, 06 Jun 2006 17:19:21 GMT]]></title><description><![CDATA[<p>ne einfache lösung währe:</p>
<p>- nen pointer innerhalb deiner 'MeineListe' klasse anzulegen<br />
- in void CMeineAnwendungView::OnInitialUpdate():<br />
m_MeineListe.m_PointerVonWarnung = &amp;m_Warnung;</p>
<p>dann kannst du einfach auf den wert zugreifen und ihn verändern.</p>
<p>ne zweite möglichkeit:</p>
<p>- in deiner liste sendest du eine message via GetParent()-&gt;SendMessage() an deine view-klasse. darin übergibst du den neuen wert. du kannst dir aber auch über den rückgabewert die adresse von m_Warnung übergeben lassen und dann wie im ersten beispiel verändern</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1072687</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1072687</guid><dc:creator><![CDATA[Red Skall]]></dc:creator><pubDate>Tue, 06 Jun 2006 17:19:21 GMT</pubDate></item><item><title><![CDATA[Reply to Auf die Member-Variablen der CMeineAnwendungView von einem CListCtrl-Steuerelement einer anderen Klasse zugreifen on Wed, 07 Jun 2006 10:56:14 GMT]]></title><description><![CDATA[<p>Danke für Ihre Antwort,</p>
<p>Ich habe Ihren ersten Rat durchgesucht und innerhalb der MeineListe Klasse<br />
habe ich einen Pointer wie</p>
<pre><code class="language-cpp">CString* m_PointerVonWarnung
</code></pre>
<p>deklariert</p>
<p>Aber, nachdem ich die Anweisung</p>
<pre><code class="language-cpp">m_MeineListe.m_PointerVonWarnung = &amp;m_Warnung;
</code></pre>
<p>in die</p>
<pre><code class="language-cpp">CMeineAnwendungView::OnInitialUpdate()
</code></pre>
<p>hinzugefügt habe,<br />
habe ich die folgende Fehlemeldung bekommen:</p>
<p>'m_PointerVonWarnung' : is not a member of 'CListCtrl'<br />
see declaration of 'CListCtrl'</p>
<p>Außerdem habe ich bemerkt dass es nur m_hWnd als Member Variable von m_MeineListe in der IntelliSenseList gab.</p>
<p>Also kann ich nicht weiter gehen und ich weiß nicht was zu tun.</p>
<p>Um mein ursprüngliches Ziel in Erinnerung zu bringen, hier ist eine konzeptionelle Funktion über was ich tun möchte:</p>
<pre><code class="language-cpp">void CMeineAnwendungView::OnClickList(NMHDR* pNMHDR, LRESULT* pResult) 
{
// To Do: Add your control notification handler code here
// Wie kann ich von hier den Text der IDC_Warnung verändern, 
//bzw. eine Anweisung wie 
// m_Warnung = &quot;Die Liste wurde angeklickt&quot;; 
// UpdateData(FALSE);
//einsetzen?
	*pResult = 0;
}
</code></pre>
<p>Ich kann Ihren zweiten Rat nicht leicht einsetzen weil ich über die Funktionen wie GetParent()-&gt;SendMessage() nicht erfahren bin.<br />
Sowieso sieht der Erste netter aus.</p>
<p>Ich warte auf Ihre weitere Vorschläge...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1073075</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1073075</guid><dc:creator><![CDATA[aurora72]]></dc:creator><pubDate>Wed, 07 Jun 2006 10:56:14 GMT</pubDate></item><item><title><![CDATA[Reply to Auf die Member-Variablen der CMeineAnwendungView von einem CListCtrl-Steuerelement einer anderen Klasse zugreifen on Wed, 07 Jun 2006 12:28:12 GMT]]></title><description><![CDATA[<p>du hast m_MeineListe nicht als 'MeineListe' deklariert, sondern als 'CListCtrl'.</p>
<p>das must du ändern.</p>
<p>'MeineListe' ist dann ja von 'CListCtrl' abgeleitet. daher ist die variable nicht in 'CListCtrl' verfügbar.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1073136</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1073136</guid><dc:creator><![CDATA[Red Skall]]></dc:creator><pubDate>Wed, 07 Jun 2006 12:28:12 GMT</pubDate></item><item><title><![CDATA[Reply to Auf die Member-Variablen der CMeineAnwendungView von einem CListCtrl-Steuerelement einer anderen Klasse zugreifen on Wed, 07 Jun 2006 13:09:27 GMT]]></title><description><![CDATA[<p>Jetzt ist das ok! Nachdem ich die m_MeineListe als MeineListe deklariert habe ist die foldende Funktion problemlos gelaufen.</p>
<pre><code class="language-cpp">void CMeineAnwendungView::OnClickList(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	m_Warnung=&quot;Ein Klick von dem CListCtrl-Steuerelement&quot;;
	CMeineAnwendungView::UpdateData(FALSE);
	*pResult = 0;
}
</code></pre>
<p>Also, danke nochmal!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1073163</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1073163</guid><dc:creator><![CDATA[aurora72]]></dc:creator><pubDate>Wed, 07 Jun 2006 13:09:27 GMT</pubDate></item><item><title><![CDATA[Reply to Auf die Member-Variablen der CMeineAnwendungView von einem CListCtrl-Steuerelement einer anderen Klasse zugreifen on Wed, 07 Jun 2006 16:32:16 GMT]]></title><description><![CDATA[<p>Warte mal... was wird das? m_MeineListe.m_PointerVonWarnung = &amp;m_Warnung; ?! Hallo ?!</p>
<p>Also:<br />
Man bekommt im algemeinen bei einer SDI Anwendung bzw auch MDI Anwendung den C...View Pointer in dem man es wie folgt machen:</p>
<pre><code class="language-cpp">((CMainFrame*)AfxGetMainWnd())-&gt;GetActiveView();
</code></pre>
<p>So... das ist schonmal gut... dann wissen wir das Public membervariablen abartig sind... k... acuh gut... daraus folgt:</p>
<pre><code class="language-cpp">class CMeineAnwendungView : public CFormView
{
public:
    // ...
    void SetWarning(CString&amp; strWarning);

protected:
    CString m_strWarnung;
    // ...
};
</code></pre>
<pre><code class="language-cpp">void MeineListe::OnClickList(NMHDR* pNMHDR, LRESULT* pResult) 
{
    CString strMessage = &quot;Test&quot;;
    ((C...View*)(((CMainFrame*)AfxGetMainWnd())-&gt;GetActiveView()))-&gt;SetWarning(strMessage);
    *pResult = 0;
}
</code></pre>
<p>So das ganze kann man natürlich auch um eine SetMessage(LPCSTR lpszWarning) erweitern... das erleichtert es dann, Warnungen auszugeben...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1073301</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1073301</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Wed, 07 Jun 2006 16:32:16 GMT</pubDate></item><item><title><![CDATA[Reply to Auf die Member-Variablen der CMeineAnwendungView von einem CListCtrl-Steuerelement einer anderen Klasse zugreifen on Wed, 07 Jun 2006 20:54:08 GMT]]></title><description><![CDATA[<p>deine lösung ist schöner!</p>
<p>aber etwas weniger arrogant hätte es auch getan. falls das nicht deine absicht war, das es so geklungen hat, entschuldige ich mich schon mal im voraus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1073475</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1073475</guid><dc:creator><![CDATA[Red Skall]]></dc:creator><pubDate>Wed, 07 Jun 2006 20:54:08 GMT</pubDate></item><item><title><![CDATA[Reply to Auf die Member-Variablen der CMeineAnwendungView von einem CListCtrl-Steuerelement einer anderen Klasse zugreifen on Thu, 08 Jun 2006 19:40:30 GMT]]></title><description><![CDATA[<p>Jo... war net meine Absicht <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="🙂"
    /> Ich mag das halt nur net wenn das so ne unsaubere Lösung ist(führt halt leich zu Bugs ;)) <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/1074145</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1074145</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Thu, 08 Jun 2006 19:40:30 GMT</pubDate></item><item><title><![CDATA[Reply to Auf die Member-Variablen der CMeineAnwendungView von einem CListCtrl-Steuerelement einer anderen Klasse zugreifen on Thu, 08 Jun 2006 21:15:15 GMT]]></title><description><![CDATA[<p>das nächste mal werde ich ne saubere lösung basteln <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/1074211</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1074211</guid><dc:creator><![CDATA[Red Skall]]></dc:creator><pubDate>Thu, 08 Jun 2006 21:15:15 GMT</pubDate></item></channel></rss>