<?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[keine aktualisierung während programmlauf]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>Ich habe mal eine frage weil ich nicht weiter komme. Mein Dialog Programm soll ein paar Dateien auslesen und das kann immer eine kleine Weile dauern aus diesem Grund brauche ich eine Statusanzeige aber das Problem ist wenn ich das programm starte dann ist das Fenster &quot;busy&quot; und kann erst dann wieder angesteuert / gesehen werden wenn die ganze sache schon vorbei vorüber ist.</p>
<p>Kann mir jemand erklären wie ich das Fenster dazubringe sich sagen wir nach jedem schleifen durchlauf einmal neu zu &quot;zeichnen&quot;?</p>
<p>Gruss,<br />
JGL</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/73228/keine-aktualisierung-während-programmlauf</link><generator>RSS for Node</generator><lastBuildDate>Mon, 27 Apr 2026 06:20:12 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/73228.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 07 May 2004 12:58:01 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to keine aktualisierung während programmlauf on Fri, 07 May 2004 12:58:01 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>Ich habe mal eine frage weil ich nicht weiter komme. Mein Dialog Programm soll ein paar Dateien auslesen und das kann immer eine kleine Weile dauern aus diesem Grund brauche ich eine Statusanzeige aber das Problem ist wenn ich das programm starte dann ist das Fenster &quot;busy&quot; und kann erst dann wieder angesteuert / gesehen werden wenn die ganze sache schon vorbei vorüber ist.</p>
<p>Kann mir jemand erklären wie ich das Fenster dazubringe sich sagen wir nach jedem schleifen durchlauf einmal neu zu &quot;zeichnen&quot;?</p>
<p>Gruss,<br />
JGL</p>
]]></description><link>https://www.c-plusplus.net/forum/post/516012</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/516012</guid><dc:creator><![CDATA[JGLightning]]></dc:creator><pubDate>Fri, 07 May 2004 12:58:01 GMT</pubDate></item><item><title><![CDATA[Reply to keine aktualisierung während programmlauf on Fri, 07 May 2004 13:00:04 GMT]]></title><description><![CDATA[<p>Nimm doch einen Thread. Das ist sauberer.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/516014</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/516014</guid><dc:creator><![CDATA[.......]]></dc:creator><pubDate>Fri, 07 May 2004 13:00:04 GMT</pubDate></item><item><title><![CDATA[Reply to keine aktualisierung während programmlauf on Fri, 07 May 2004 13:05:14 GMT]]></title><description><![CDATA[<p>Ich habe leider noch nicht ganz so viel Erfahrung in C++ (schlanke 16) - ist ist das kompliziert? Wie müsste ich das anstellen, weil ist halt nur ein Singledialog Programm und ein Thread würde vielleicht den Rahmen sprengen.</p>
<p>Gruss,<br />
JGL</p>
]]></description><link>https://www.c-plusplus.net/forum/post/516019</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/516019</guid><dc:creator><![CDATA[JGLightning]]></dc:creator><pubDate>Fri, 07 May 2004 13:05:14 GMT</pubDate></item><item><title><![CDATA[Reply to keine aktualisierung während programmlauf on Fri, 07 May 2004 13:54:14 GMT]]></title><description><![CDATA[<p>Servus,</p>
<p>Guck mal in der MSDN unter AfxBeginThread. Dort ist auch irgendwo ein schönes Bsp.</p>
<p>Hier noch ein Bsp von mir:</p>
<pre><code class="language-cpp">//in .h
static UINT DeinThread(LPVOID pParam);

//in.cpp
UINT CDeinDlg::DeinThread(LPVOID pParam)
{
   //CDeineAusführklasse muss vom Typ
   //CWinThread sein
   //mach was
   //Da static musste ((CDeinDlg*)pParam)-&gt; verwenden
}

void CDeinDlg::ButtonClick()
{
    AfxBeginThread(DeinThread, this)
}
</code></pre>
<p>Du erstellst dir eine Neue Klasse Bsp. &quot;CReadDate&quot; vom Typ CWinThread. In dieser Klasse erstellst du eine Funktion Bsp. &quot;ReadData&quot;. In dieser Funktion liest du dann deine Dateien aus und gibst diese an deine Hauptklasse wieder zurück bzw. spuckst diese dann irgendwo aus. Kommt drauf an was du machen willst.</p>
<p>Viel Spass<br />
*winke*<br />
Hellsgore</p>
<p>EDIT:<br />
Du kannst auch noch während einem Lesevorgang bzw. während dein Prog in einer Schleife hängt alle Msg durchleiten.</p>
<p>Bsp:</p>
<pre><code class="language-cpp">void CDeinDlg::PumpMessages()
{
    ASSERT(GetSafeHwnd() != NULL);
    MSG msg;

    while (PeekMessage(&amp;msg, NULL, 0, 0, PM_REMOVE))
    {
        if (!IsDialogMessage(&amp;msg))
        {
            ::TranslateMessage(&amp;msg);
            ::DispatchMessage(&amp;msg);
        }
    }
}
</code></pre>
<p>in deiner Schleife:</p>
<pre><code class="language-cpp">while (blabla)
{
  PumpMessages();
  LeseDaten();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/516053</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/516053</guid><dc:creator><![CDATA[Hellsgore]]></dc:creator><pubDate>Fri, 07 May 2004 13:54:14 GMT</pubDate></item><item><title><![CDATA[Reply to keine aktualisierung während programmlauf on Sat, 08 May 2004 19:42:03 GMT]]></title><description><![CDATA[<p>Besser ist PumpMessage aus dem Thread, denn dann wird überall auch PreTranslateMessage aufgerufen <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>
<pre><code class="language-cpp">bool CDeinDlg::PumpMessages()
{
    ASSERT(GetSafeHwnd() != NULL);
    ASSERT(AfxGetThread() != NULL);
    MSG msg;

    while (PeekMessage(&amp;msg, NULL, 0, 0, PM_REMOVE))
    {
        if(!AfxGetThread()-&gt;PumpMessage())
        {
            // WM_QUIT wurde empfangen - Beenden!
            // Vorher aber WM_QUIT erneut senden
            AfxPostQuitMessage(msg.wParam);
            return false;
        }
    }

    return true;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/516788</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/516788</guid><dc:creator><![CDATA[tag]]></dc:creator><pubDate>Sat, 08 May 2004 19:42:03 GMT</pubDate></item></channel></rss>