<?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[Zugriff auf Steuerelemnte einer Klasse bei einem Thread?]]></title><description><![CDATA[<p>Hallo Leute,<br />
bin absoluter Anfänger im Bereich MFC.</p>
<p>Ich habe folgende Frage zu einem von mir erstellten Thread.<br />
Hier der Auszug:</p>
<pre><code class="language-cpp">UINT ThreadProc(LPVOID param)
{         
// Anmerkung:eigene klasse //die eine CSV Datei zerlegt
CParser m_cparser;
//...

CString text;	
int iterator=0;
for(;iterator &lt; m_parser.GetLinesCount();iterator++)
	{
    _sleep(100);
	text.Format(&quot;%d&quot;,iterator);

//cast void zu Cwnd + übergebe des aktuellen iterators
((CWnd*) param)-&gt;GetDlgItem(IDC_EDIT_FORTSCHRITT)-&gt;SetWindowText(text);

if(iterator%100==0)
((CWnd*) param)-&gt;GetDlgItem(IDD_DIALOG_STATUSANZEIGE)-&gt;UpdateWindow();

//...

return 0;

	}
</code></pre>
<p>So jetzt zu meiner Frage:</p>
<p>Da die Funktion ThreadProc global liegt, kann ich nicht auf die member der Dialogfunktion zugreifen, außer über GetDlgItem.<br />
Wie kriege ich es hin die nicht von CWnd abgeleitete Member<br />
die in der Dialogklasse CStatusanzeigeDlg liegen im Thread anzusprechen?</p>
<p>Ich hoffe, habe bei diesem Post etwas mehr Glück als beim letzten Mal <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>Dominik</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/45170/zugriff-auf-steuerelemnte-einer-klasse-bei-einem-thread</link><generator>RSS for Node</generator><lastBuildDate>Sat, 25 Apr 2026 22:18:26 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/45170.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 07 Aug 2003 15:54:04 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zugriff auf Steuerelemnte einer Klasse bei einem Thread? on Thu, 07 Aug 2003 15:54:04 GMT]]></title><description><![CDATA[<p>Hallo Leute,<br />
bin absoluter Anfänger im Bereich MFC.</p>
<p>Ich habe folgende Frage zu einem von mir erstellten Thread.<br />
Hier der Auszug:</p>
<pre><code class="language-cpp">UINT ThreadProc(LPVOID param)
{         
// Anmerkung:eigene klasse //die eine CSV Datei zerlegt
CParser m_cparser;
//...

CString text;	
int iterator=0;
for(;iterator &lt; m_parser.GetLinesCount();iterator++)
	{
    _sleep(100);
	text.Format(&quot;%d&quot;,iterator);

//cast void zu Cwnd + übergebe des aktuellen iterators
((CWnd*) param)-&gt;GetDlgItem(IDC_EDIT_FORTSCHRITT)-&gt;SetWindowText(text);

if(iterator%100==0)
((CWnd*) param)-&gt;GetDlgItem(IDD_DIALOG_STATUSANZEIGE)-&gt;UpdateWindow();

//...

return 0;

	}
</code></pre>
<p>So jetzt zu meiner Frage:</p>
<p>Da die Funktion ThreadProc global liegt, kann ich nicht auf die member der Dialogfunktion zugreifen, außer über GetDlgItem.<br />
Wie kriege ich es hin die nicht von CWnd abgeleitete Member<br />
die in der Dialogklasse CStatusanzeigeDlg liegen im Thread anzusprechen?</p>
<p>Ich hoffe, habe bei diesem Post etwas mehr Glück als beim letzten Mal <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>Dominik</p>
]]></description><link>https://www.c-plusplus.net/forum/post/326454</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/326454</guid><dc:creator><![CDATA[dominik 0]]></dc:creator><pubDate>Thu, 07 Aug 2003 15:54:04 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriff auf Steuerelemnte einer Klasse bei einem Thread? on Thu, 07 Aug 2003 16:01:56 GMT]]></title><description><![CDATA[<p>Als Threadparameter den this-Zeiger der Dialogklasse übergeben und ihn in der ThreadProc wieder auf einen Zeiger der Dialogklasse casten und dann<br />
Zeiger-&gt;GetDlgItem machen ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/326462</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/326462</guid><dc:creator><![CDATA[dEUs]]></dc:creator><pubDate>Thu, 07 Aug 2003 16:01:56 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriff auf Steuerelemnte einer Klasse bei einem Thread? on Fri, 08 Aug 2003 04:21:51 GMT]]></title><description><![CDATA[<p>das wird ihm wenig nutzen.<br />
Selbst wenn er noch ein Cast macht kommt er bsp. an einige KlassenMember<br />
nicht dran.<br />
Wie soll das z.Bsp. mit einer instanz eines CStrings funktionieren?</p>
<p>Ich denke, für solche Fälle müßte schon die Meyers Singleton Klasse eingesetzt werden.</p>
<p>Korrigiert mich aber, wenn ich falsch liege.</p>
<p>epidemic</p>
]]></description><link>https://www.c-plusplus.net/forum/post/326737</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/326737</guid><dc:creator><![CDATA[epidemic]]></dc:creator><pubDate>Fri, 08 Aug 2003 04:21:51 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriff auf Steuerelemnte einer Klasse bei einem Thread? on Fri, 08 Aug 2003 04:55:52 GMT]]></title><description><![CDATA[<p>Was du machst ist ein Workerthread.<br />
Es gibt auch einen &quot;Benutzeroberflächenthread&quot;.</p>
<p>Einfach eine Klasse von CWinThread ableiten. Dieser dann den this des Dialogs übergeben und das wars</p>
]]></description><link>https://www.c-plusplus.net/forum/post/326738</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/326738</guid><dc:creator><![CDATA[Unix-Tom]]></dc:creator><pubDate>Fri, 08 Aug 2003 04:55:52 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriff auf Steuerelemnte einer Klasse bei einem Thread? on Fri, 08 Aug 2003 10:46:41 GMT]]></title><description><![CDATA[<p>In dem genialen Tutorial von Dr. Erhard Henkes<br />
steht es detalliert und wie IMMER verständlich beschrieben.</p>
<p>Habe selber einige Beispiele getestet.</p>
<p>epidemic</p>
]]></description><link>https://www.c-plusplus.net/forum/post/327051</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/327051</guid><dc:creator><![CDATA[epidemic]]></dc:creator><pubDate>Fri, 08 Aug 2003 10:46:41 GMT</pubDate></item></channel></rss>