<?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[&amp;quot;Bitte Warten...&amp;quot; - Box, wie realisier ich sowas?]]></title><description><![CDATA[<p>'nabend zusammen.</p>
<p>Folgendes Problem:</p>
<p>Hab hier eine Funktion, die relativ zeitintensiv ist.<br />
Während diese arbeitet, soll ein neues Fenster erscheinen, so etwas z.B:</p>
<p>&quot;Bitte warten... Daten werden ausgewertet.&quot;</p>
<p>Währenddessen soll die Funktion weiterlaufen, und am Ende der Funktion soll dies Fenster automatisch geschlossen werden.</p>
<p>Wer kann mir sagen, wie ich das am einfachsten realisieren kann?</p>
<p>Mit nonmodalen Dialogformen - das hab ich als Möglichkeit gegoogelt - kenne ich mich leider (noch) nicht aus.</p>
<p>Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/171498/quot-bitte-warten-quot-box-wie-realisier-ich-sowas</link><generator>RSS for Node</generator><lastBuildDate>Mon, 27 Apr 2026 04:05:37 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/171498.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 25 Jan 2007 22:16:10 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to &amp;quot;Bitte Warten...&amp;quot; - Box, wie realisier ich sowas? on Thu, 25 Jan 2007 22:16:10 GMT]]></title><description><![CDATA[<p>'nabend zusammen.</p>
<p>Folgendes Problem:</p>
<p>Hab hier eine Funktion, die relativ zeitintensiv ist.<br />
Während diese arbeitet, soll ein neues Fenster erscheinen, so etwas z.B:</p>
<p>&quot;Bitte warten... Daten werden ausgewertet.&quot;</p>
<p>Währenddessen soll die Funktion weiterlaufen, und am Ende der Funktion soll dies Fenster automatisch geschlossen werden.</p>
<p>Wer kann mir sagen, wie ich das am einfachsten realisieren kann?</p>
<p>Mit nonmodalen Dialogformen - das hab ich als Möglichkeit gegoogelt - kenne ich mich leider (noch) nicht aus.</p>
<p>Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1217261</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1217261</guid><dc:creator><![CDATA[mdl]]></dc:creator><pubDate>Thu, 25 Jan 2007 22:16:10 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;Bitte Warten...&amp;quot; - Box, wie realisier ich sowas? on Fri, 26 Jan 2007 01:28:20 GMT]]></title><description><![CDATA[<p>Wenn es dich nicht stört dass das Programm sonst auf nixmehr reagiert während die &quot;bitte warten&quot; box zu sehen ist geht das mit einem nicht modalen Dialog (&quot;modeless&quot;). Mit MFC ist das auch relativ einfach, gucks dir einfach mal an. Du musst nen anderen Konstruktor verwenden, und CDialog::Create statt CDialog::DoModal.</p>
<p>Wenn das Programm aber noch auf irgendwas reagieren soll (z.B. wenn in dem Dialog ein &quot;Abbrechen&quot; Button drin sein soll, oder das Programmfenster neu gezeichnet werden soll falls es zwischenzeitlich verdeckt war) musst du wohl entweder einen Thread rausstarten oder die Funktion so implementieren dass du eine &quot;mach ein bissi was&quot; Funktion hast, die du immer wieder aufrufst bis sie fertig ist (und zwischen den Aufrufen eben immer Messages verarbeitest).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1217301</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1217301</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Fri, 26 Jan 2007 01:28:20 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;Bitte Warten...&amp;quot; - Box, wie realisier ich sowas? on Fri, 26 Jan 2007 08:30:46 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>Wenn es dich nicht stört dass das Programm sonst auf nixmehr reagiert während die &quot;bitte warten&quot; box zu sehen ist geht das mit einem nicht modalen Dialog (&quot;modeless&quot;).</p>
</blockquote>
<p>Verwechselst Du jetzt nicht Modal mit NichtModal.<br />
Die Idee von Nichtmodal ist doch, dass man im Elternfenster weiterhin arbeiten kann! (vgl. den Suchendialog in Word)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1217360</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1217360</guid><dc:creator><![CDATA[khrl01]]></dc:creator><pubDate>Fri, 26 Jan 2007 08:30:46 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;Bitte Warten...&amp;quot; - Box, wie realisier ich sowas? on Fri, 26 Jan 2007 09:30:12 GMT]]></title><description><![CDATA[<p>Nein! hustbaer hat schon recht.<br />
Er meint einen nicht modalen Dialog. Denn der Aufruf DoModal kehrt ja nicht zurück und man kann nicht weiterarbeiten. Außer man verlagert die ganze Aktion in den Code des modalen Dialoges und terminiert den modalten Dialog gleich wieder in OnInitDialog.</p>
<p>Der nicht modale Dialog wird erzeugt. Es wird UpdateWindow aufgerufen und damit hats sichs. Der Dialog wird entsorgt wenn der Vorgang beendet ist.<br />
Zwischendrin kann man sogar noch mit SetWIndowText/SetDlgItemText ein bischen Fortschritt signalisiern und UpdateWindow noch mal aufrufen um den Dialog evtl. noch mal neu zeichnen zu lassen, falls der User mal Alt+Tab gemacht hat in der Zwischenzeit.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1217391</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1217391</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Fri, 26 Jan 2007 09:30:12 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;Bitte Warten...&amp;quot; - Box, wie realisier ich sowas? on Fri, 26 Jan 2007 11:12:45 GMT]]></title><description><![CDATA[<p>Martin Richter schrieb:</p>
<blockquote>
<p>Nein! hustbaer hat schon recht.<br />
Er meint einen nicht modalen Dialog. Denn der Aufruf DoModal kehrt ja nicht zurück und man kann nicht weiterarbeiten. Außer man verlagert die ganze Aktion in den Code des modalen Dialoges und terminiert den modalten Dialog gleich wieder in OnInitDialog.</p>
<p>Der nicht modale Dialog wird erzeugt. Es wird UpdateWindow aufgerufen und damit hats sichs. Der Dialog wird entsorgt wenn der Vorgang beendet ist.<br />
Zwischendrin kann man sogar noch mit SetWIndowText/SetDlgItemText ein bischen Fortschritt signalisiern und UpdateWindow noch mal aufrufen um den Dialog evtl. noch mal neu zeichnen zu lassen, falls der User mal Alt+Tab gemacht hat in der Zwischenzeit.</p>
</blockquote>
<p>Kapier ich jetzt 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>
<p>Modaler Dialog : Wird mit DoModal erstellt. Die Kontrolle des Threads geht vom Parentfenster in den Dialog über, solange bis der Dialog terminiert (wird)<br />
(daher heisst der aufruf auch DoModal <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>
<p>Nicht modaler Dialog: Dialog wird mittels CDialog::Create erstellt und läuft quasi &quot;parallel&quot; zum Parentfenster..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1217479</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1217479</guid><dc:creator><![CDATA[khrl01]]></dc:creator><pubDate>Fri, 26 Jan 2007 11:12:45 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;Bitte Warten...&amp;quot; - Box, wie realisier ich sowas? on Fri, 26 Jan 2007 11:18:28 GMT]]></title><description><![CDATA[<p>khrl01 schrieb:</p>
<blockquote>
<p>Martin Richter schrieb:</p>
<blockquote>
<p>Nein! hustbaer hat schon recht.<br />
Er meint einen nicht modalen Dialog. Denn der Aufruf DoModal kehrt ja nicht zurück und man kann nicht weiterarbeiten. Außer man verlagert die ganze Aktion in den Code des modalen Dialoges und terminiert den modalten Dialog gleich wieder in OnInitDialog.</p>
<p>Der nicht modale Dialog wird erzeugt. Es wird UpdateWindow aufgerufen und damit hats sichs. Der Dialog wird entsorgt wenn der Vorgang beendet ist.<br />
Zwischendrin kann man sogar noch mit SetWIndowText/SetDlgItemText ein bischen Fortschritt signalisiern und UpdateWindow noch mal aufrufen um den Dialog evtl. noch mal neu zeichnen zu lassen, falls der User mal Alt+Tab gemacht hat in der Zwischenzeit.</p>
</blockquote>
<p>Kapier ich jetzt 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>
<p>Modaler Dialog : Wird mit DoModal erstellt. Die Kontrolle des Threads geht vom Parentfenster in den Dialog über, solange bis der Dialog terminiert (wird)<br />
(daher heisst der aufruf auch DoModal <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>
</blockquote>
<p>Genau. Wenn man nun aber woanders die zeitintensive Rechenarbeit macht, dann wird diese er durchgezogen, wenn der modale Dialog beendet wird. Das soll ja aber nicht sein. Der Threadersteller will ja, dass der Dialog gezeigt wird und gleichzeitig die Arbeit verrichtet wird. Das würde mit doModal() nur gehen, wenn man die zeitintensive Aktion direkt im Dialog implementiert.</p>
<p>chrische</p>
<p>Nicht modaler Dialog: Dialog wird mittels CDialog::Create erstellt und läuft quasi &quot;parallel&quot; zum Parentfenster..[/quote]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1217482</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1217482</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 26 Jan 2007 11:18:28 GMT</pubDate></item></channel></rss>