<?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[Nicht modaler Dialog. Keine Steuerelemente]]></title><description><![CDATA[<p>Hey Leute,</p>
<p>ich habe einen nicht modalen Dialog gebastelt. Der erscheint auch wunderbar. Allerdings werden die Steuerelemente usw des Dialoges erst angezeigt, wenn der Rechner nicht mehr arbeitet. Allerdings sollen diese schon früher angezeigt werden, weil der Dialog praktisch als Initialisierungs bzw. Wait-Dialog gedacht ist. Es bringt mir aber nix, wenn während der Initialisierung ein leerer Dialog angezeigt wird...</p>
<p>Was kann ich nun also tun, damit die Steuerelemente auch während des Initialisierens angezeigt werden und nicht erst, wenn er fertig ist?</p>
<p>Folgenden Code habe ich bisher:</p>
<pre><code class="language-cpp">CWaitDlg* wdlg = new CWaitDlg();
wdlg-&gt;Create(IDD_DIALOG6, NULL);
wdlg-&gt;ShowWindow(SW_SHOW);

// lalala fröhliche Initialisierung des Programms

wdlg-&gt;DestroyWindow();
</code></pre>
<p>während der Initialisierung bekomm ich jetzt halt ein Dialog ganz ohne Steuerelemente. Und ich hätt da zumindest gerne ne Statusleiste. Wenn ich jetzt aber während der Initialisierung ne MessageBox oder sowas einbaue, dann bekomm ich die Steuerelemente zu sehen. Ist diese weg, sehe ich sie nie. Was kann ich tun.</p>
<p>Vielen Dank im voraus.</p>
<p>Greez Osiris</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/144706/nicht-modaler-dialog-keine-steuerelemente</link><generator>RSS for Node</generator><lastBuildDate>Fri, 17 Jul 2026 00:10:59 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/144706.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 20 Apr 2006 18:11:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Nicht modaler Dialog. Keine Steuerelemente on Thu, 20 Apr 2006 18:11:29 GMT]]></title><description><![CDATA[<p>Hey Leute,</p>
<p>ich habe einen nicht modalen Dialog gebastelt. Der erscheint auch wunderbar. Allerdings werden die Steuerelemente usw des Dialoges erst angezeigt, wenn der Rechner nicht mehr arbeitet. Allerdings sollen diese schon früher angezeigt werden, weil der Dialog praktisch als Initialisierungs bzw. Wait-Dialog gedacht ist. Es bringt mir aber nix, wenn während der Initialisierung ein leerer Dialog angezeigt wird...</p>
<p>Was kann ich nun also tun, damit die Steuerelemente auch während des Initialisierens angezeigt werden und nicht erst, wenn er fertig ist?</p>
<p>Folgenden Code habe ich bisher:</p>
<pre><code class="language-cpp">CWaitDlg* wdlg = new CWaitDlg();
wdlg-&gt;Create(IDD_DIALOG6, NULL);
wdlg-&gt;ShowWindow(SW_SHOW);

// lalala fröhliche Initialisierung des Programms

wdlg-&gt;DestroyWindow();
</code></pre>
<p>während der Initialisierung bekomm ich jetzt halt ein Dialog ganz ohne Steuerelemente. Und ich hätt da zumindest gerne ne Statusleiste. Wenn ich jetzt aber während der Initialisierung ne MessageBox oder sowas einbaue, dann bekomm ich die Steuerelemente zu sehen. Ist diese weg, sehe ich sie nie. Was kann ich tun.</p>
<p>Vielen Dank im voraus.</p>
<p>Greez Osiris</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1041497</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1041497</guid><dc:creator><![CDATA[Osiris1986]]></dc:creator><pubDate>Thu, 20 Apr 2006 18:11:29 GMT</pubDate></item><item><title><![CDATA[Reply to Nicht modaler Dialog. Keine Steuerelemente on Thu, 20 Apr 2006 18:40:47 GMT]]></title><description><![CDATA[<p>Wie sieht denn Deine Message-Pump aus?<br />
Ich bin mir jetzt nicht sicher, aber musste man nicht &quot;PreTranslateMessage&quot; überladen...</p>
<pre><code class="language-cpp">BOOL PreTranslateMessage( msg )
{
    if( IsDialogMessage( msg ) )
        return TRUE;
    else
        return CWnd::PreTranslateMessage( msg );
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1041520</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1041520</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Thu, 20 Apr 2006 18:40:47 GMT</pubDate></item><item><title><![CDATA[Reply to Nicht modaler Dialog. Keine Steuerelemente on Thu, 20 Apr 2006 19:06:04 GMT]]></title><description><![CDATA[<p>Was ist denn eine Message-Pump???</p>
<p>Und wenn ich PreTranslateMessage versuche zu überladen krieg ich Compiler Error, die aber wohl mit der falschen Deklaration von msg zu tun haben. Allerdings weiß ich nicht was für ein Objekt msg ist, sonst hätte ich es deklariert ( Also ich mein jetzt im Funktionskopf).</p>
<p>Greez Osiris</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1041531</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1041531</guid><dc:creator><![CDATA[Osiris1986]]></dc:creator><pubDate>Thu, 20 Apr 2006 19:06:04 GMT</pubDate></item><item><title><![CDATA[Reply to Nicht modaler Dialog. Keine Steuerelemente on Fri, 21 Apr 2006 07:53:04 GMT]]></title><description><![CDATA[<p>Wenn es nur darum geht diese Dialog anzuzeigen als Wartedialog, dann kannst Du einfach ein RedrawWindow durchführen. Alerdings benötigst Du in jedem Fall eine Nachrichtenschleife wie Jochen es schrieb wenn dieser Dialog regelmässig neu angezeigt werden soll, oder auch andere Programme diesen Dialog verdecken und wieder in den Vordergrund bringen.</p>
<p>Ectl. könntest Du auch daran denken, Deinen Vorgang, der so lange dauert in einen eigenen Thread auszulagern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1041704</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1041704</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Fri, 21 Apr 2006 07:53:04 GMT</pubDate></item><item><title><![CDATA[Reply to Nicht modaler Dialog. Keine Steuerelemente on Fri, 21 Apr 2006 10:39:59 GMT]]></title><description><![CDATA[<p>Hallo,<br />
versuche das hier :</p>
<p>Osiris1986 schrieb:</p>
<blockquote>
<pre><code class="language-cpp">CWaitDlg* wdlg = new CWaitDlg();
wdlg-&gt;Create(IDD_DIALOG6, NULL);
wdlg-&gt;ShowWindow(SW_SHOW);
// dies hier einfügen, vielleicht hilfts..
MSG Message;
while(::PeekMessage(&amp;Message, NULL, NULL, NULL, PM_REMOVE))
{
    ::TranslateMessage(&amp;Message);
    ::DispatchMessage(&amp;Message);
}

// lalala fröhliche Initialisierung des Programms

wdlg-&gt;DestroyWindow();
</code></pre>
</blockquote>
<p>Grüsse<br />
pixel</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1041846</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1041846</guid><dc:creator><![CDATA[pixel]]></dc:creator><pubDate>Fri, 21 Apr 2006 10:39:59 GMT</pubDate></item><item><title><![CDATA[Reply to Nicht modaler Dialog. Keine Steuerelemente on Fri, 21 Apr 2006 11:30:43 GMT]]></title><description><![CDATA[<p>Mal als ansatz für dich. auch in nichtmodaler dialog erzeugt keinen eingene thread.<br />
warum es da probleme gibt steht auch in kürzlichen postings von anderen hier.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1041881</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1041881</guid><dc:creator><![CDATA[Unix-Tom]]></dc:creator><pubDate>Fri, 21 Apr 2006 11:30:43 GMT</pubDate></item><item><title><![CDATA[Reply to Nicht modaler Dialog. Keine Steuerelemente on Fri, 21 Apr 2006 11:43:40 GMT]]></title><description><![CDATA[<p>pixel schrieb:</p>
<blockquote>
<p>Hallo,<br />
versuche das hier :<br />
&lt;snip&gt;</p>
</blockquote>
<p>Dies macht ein Programm reentrant. In diesem Fall müsstes Du das Main Window disabled, sonst könnte man wieder ein Menü öffnen, oder einen Accelerator benutzen etc.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1041886</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1041886</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Fri, 21 Apr 2006 11:43:40 GMT</pubDate></item><item><title><![CDATA[Reply to Nicht modaler Dialog. Keine Steuerelemente on Fri, 21 Apr 2006 14:57:12 GMT]]></title><description><![CDATA[<p>Ich habs jetzt mal so probiert wie pixel das demonstriert hat und das ist genau das, was ich mir vorgestellt hatte. Die Idee mit dem Thread war aber auch nicht schlecht. Nur bin ich darauf nicht gekommen. Außerdem hab ich noch nie mit Threads gearbeitet. Deshalb lass ich es erstmal so wie es jetzt funktioniert. Vielen dank an alle</p>
<p>Greez Osiris</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1042033</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1042033</guid><dc:creator><![CDATA[Osiris1986]]></dc:creator><pubDate>Fri, 21 Apr 2006 14:57:12 GMT</pubDate></item><item><title><![CDATA[Reply to Nicht modaler Dialog. Keine Steuerelemente on Sat, 22 Apr 2006 23:55:46 GMT]]></title><description><![CDATA[<p>Der Vorschlag von pixel ist nicht schlecht, aber eigentlich nur für Win32. Besser ist Du benutzt folgendes:</p>
<pre><code>MSG msg;

while( ::PeekMessage( &amp;msg, NULL, NULL, NULL, PM_NOREMOVE ) )
  ::AfxGetThread()-&gt;PumpMessage();
</code></pre>
<p>macht das gleiche, aber unterstützt die spezialitäten der MFC. Etwas umgestellt lässt sich daraus eine schöne Sleep für Threads 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>
<p>siehe auch <a href="http://www.mpdvc.de/html.htm#Q75" rel="nofollow">http://www.mpdvc.de/html.htm#Q75</a></p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1043079</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1043079</guid><dc:creator><![CDATA[CTecS]]></dc:creator><pubDate>Sat, 22 Apr 2006 23:55:46 GMT</pubDate></item></channel></rss>