<?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[SplashScreen nicht nur MDI&#x2F;SDI sondern auch Dialogbasierende Anwendung!]]></title><description><![CDATA[<p>Hi Zusammen!</p>
<p>Ich hab irgendwo, weiss nicht mehr recht wo, gelesen, dass Splashscreens ganz einfach über ADD TO PROJECT -&gt; VISUAL C++ COMPONENTS -&gt; SplashScreen eingefügt werden können und das dies nur in MDI/SDI funktioniert.</p>
<p>Und was ist nun mit leuten, die gerne Dialogbasierende Anwendungen schreiben möchten oder werden? Kein problem! Es ist zwar ein <strong>bisschen</strong> Umständlicher, doch es geht! Folglich mein kleines Tutorial zu &quot;SplashScreen in einer Dialogbasierende Anwendung&quot;, eigentlich für das <strong>FAQ</strong> gedacht:</p>
<h1><strong>Tutorial (Step by Step) - Wie erstelle ich SplashScreens in einer Dialogbasierenden MFC Anwendung?</strong></h1>
<p>Es geht eigentlich sehr einfach, folglich Schrittweise erklärt.</p>
<p><strong>1.</strong> Erstelle ein neues Dilaogbasierendes MFC-Projekt. Der Assistent erstellte nun ein Dilaog namens CirgendwasDlg. Dort befindet sich auch die Funktion <em><strong>WM_PAINT</strong></em> in der Klasse.</p>
<p><strong>2.</strong> Lasse ein Bitmap (256 Farben!!) importieren oder erstelle<br />
selbst eines. Das ist dann das &quot;SplashScreen-Logo&quot;. Nun wechsle wieder zum &quot;CIrgendwasDlg&quot; und lösche alle Steuerelemnte wie &quot;OK, CANCEL&quot; und den Text, das Dialogfeld muss blanco sein.</p>
<p><strong>3.</strong> Füge das Steuerelement &quot;Picture&quot; in den Dialog ein. Wähle in den &quot;Controlleigenschaften&quot; von Picture den Typ BITMAP aus und wähle als Bitmap das eingefügte Bitmap also <em><strong>IDB_BITMAP1</strong></em></p>
<p><strong>4.</strong> Nun schiebe das Kontrollfeld mit dem anzeigenden Bitmap ganz in<br />
die Ecke des Dialogfeldes und danach passe den Dialog dem<br />
Bitmap an, ebenfalls fügst du der Klasse &quot;CIrgendwasDlg&quot; mit hilfe des Klassenassitenten die Funktion <em><strong>WM_TIMER</strong></em> hinzu.</p>
<p><strong>5.</strong> Füge in der Funktion <strong>OnTimer...</strong> folgender Code hinzu:</p>
<pre><code>Sleep(5000); //Anzeigezeit des Screens
KillTimer(TRUE);
CirgendwasDlg::PostMessage(WM_QUIT);
CHauptDlg dlg; //CHauptDlg so lassen, das wird der normale Dialog werden
dlg.DoModal(); //Aufrufen des Dialogs
</code></pre>
<p><strong>6.</strong> Gehe in die Dialogressourcen und füge einen neuen Dialog ein.<br />
Diesen benennst du als IDD_HauptDlg.<br />
Erstelle zudem noch eine neue MFC Klasse &quot;CHauptDlg&quot; mit der Bais CDialog,<br />
abgeleitet von IDD_HauptDlg. <strong>In diesem CHauptDlg schreibst du nun dein Normales Programm, als wäre das der erste erstellte Dialog.</strong></p>
<p><strong>7.</strong> Wechsle nun wieder zum ersten Dialog namens &quot;CirgendwasDlg&quot;, und gehe in der Klasse zur Funktion ***OnPaint()***. In einer ELSE-ANWEISUNG findest du den Code <em>CDialog::OnPaint();</em>. <strong>Nach</strong> dieser Zeile fügst du eine weitere Zeile mit folgendem Code hinzu:</p>
<pre><code>SetTimer(0,0,NULL);
</code></pre>
<p><strong>8.</strong> Im CIrgendwasDlg fügst du noch <em>#include &quot;HauptDlg.h&quot;</em>, in der Klasse von CHauptDlg <em>#include &quot;CIrgendwasDlg.h&quot;</em> hinzu. Das SplashScreen wird beim start nun 5 Sekunden angezeigt und danach startet das Programm.<br />
Im CHauptDlg Dialog kannst du nun dein Programm schreiben, respektive<br />
fortführen!</p>
<p><strong>Diese 5 Sekunden kannst du in WM_TIMER unter Sleep(); beliebig ändern. Angegeben wird in Millisekunden</strong></p>
<p>Dieses Tutorial wurde geschrieben von Programmer,<br />
Viel Spass beim Ausprobieren, <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>mfg<br />
Pro</p>
<p>PS: Wäre was für das FAQ!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/49167/splashscreen-nicht-nur-mdi-sdi-sondern-auch-dialogbasierende-anwendung</link><generator>RSS for Node</generator><lastBuildDate>Fri, 01 May 2026 10:52:14 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/49167.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 16 Sep 2003 16:58:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to SplashScreen nicht nur MDI&#x2F;SDI sondern auch Dialogbasierende Anwendung! on Tue, 16 Sep 2003 16:58:37 GMT]]></title><description><![CDATA[<p>Hi Zusammen!</p>
<p>Ich hab irgendwo, weiss nicht mehr recht wo, gelesen, dass Splashscreens ganz einfach über ADD TO PROJECT -&gt; VISUAL C++ COMPONENTS -&gt; SplashScreen eingefügt werden können und das dies nur in MDI/SDI funktioniert.</p>
<p>Und was ist nun mit leuten, die gerne Dialogbasierende Anwendungen schreiben möchten oder werden? Kein problem! Es ist zwar ein <strong>bisschen</strong> Umständlicher, doch es geht! Folglich mein kleines Tutorial zu &quot;SplashScreen in einer Dialogbasierende Anwendung&quot;, eigentlich für das <strong>FAQ</strong> gedacht:</p>
<h1><strong>Tutorial (Step by Step) - Wie erstelle ich SplashScreens in einer Dialogbasierenden MFC Anwendung?</strong></h1>
<p>Es geht eigentlich sehr einfach, folglich Schrittweise erklärt.</p>
<p><strong>1.</strong> Erstelle ein neues Dilaogbasierendes MFC-Projekt. Der Assistent erstellte nun ein Dilaog namens CirgendwasDlg. Dort befindet sich auch die Funktion <em><strong>WM_PAINT</strong></em> in der Klasse.</p>
<p><strong>2.</strong> Lasse ein Bitmap (256 Farben!!) importieren oder erstelle<br />
selbst eines. Das ist dann das &quot;SplashScreen-Logo&quot;. Nun wechsle wieder zum &quot;CIrgendwasDlg&quot; und lösche alle Steuerelemnte wie &quot;OK, CANCEL&quot; und den Text, das Dialogfeld muss blanco sein.</p>
<p><strong>3.</strong> Füge das Steuerelement &quot;Picture&quot; in den Dialog ein. Wähle in den &quot;Controlleigenschaften&quot; von Picture den Typ BITMAP aus und wähle als Bitmap das eingefügte Bitmap also <em><strong>IDB_BITMAP1</strong></em></p>
<p><strong>4.</strong> Nun schiebe das Kontrollfeld mit dem anzeigenden Bitmap ganz in<br />
die Ecke des Dialogfeldes und danach passe den Dialog dem<br />
Bitmap an, ebenfalls fügst du der Klasse &quot;CIrgendwasDlg&quot; mit hilfe des Klassenassitenten die Funktion <em><strong>WM_TIMER</strong></em> hinzu.</p>
<p><strong>5.</strong> Füge in der Funktion <strong>OnTimer...</strong> folgender Code hinzu:</p>
<pre><code>Sleep(5000); //Anzeigezeit des Screens
KillTimer(TRUE);
CirgendwasDlg::PostMessage(WM_QUIT);
CHauptDlg dlg; //CHauptDlg so lassen, das wird der normale Dialog werden
dlg.DoModal(); //Aufrufen des Dialogs
</code></pre>
<p><strong>6.</strong> Gehe in die Dialogressourcen und füge einen neuen Dialog ein.<br />
Diesen benennst du als IDD_HauptDlg.<br />
Erstelle zudem noch eine neue MFC Klasse &quot;CHauptDlg&quot; mit der Bais CDialog,<br />
abgeleitet von IDD_HauptDlg. <strong>In diesem CHauptDlg schreibst du nun dein Normales Programm, als wäre das der erste erstellte Dialog.</strong></p>
<p><strong>7.</strong> Wechsle nun wieder zum ersten Dialog namens &quot;CirgendwasDlg&quot;, und gehe in der Klasse zur Funktion ***OnPaint()***. In einer ELSE-ANWEISUNG findest du den Code <em>CDialog::OnPaint();</em>. <strong>Nach</strong> dieser Zeile fügst du eine weitere Zeile mit folgendem Code hinzu:</p>
<pre><code>SetTimer(0,0,NULL);
</code></pre>
<p><strong>8.</strong> Im CIrgendwasDlg fügst du noch <em>#include &quot;HauptDlg.h&quot;</em>, in der Klasse von CHauptDlg <em>#include &quot;CIrgendwasDlg.h&quot;</em> hinzu. Das SplashScreen wird beim start nun 5 Sekunden angezeigt und danach startet das Programm.<br />
Im CHauptDlg Dialog kannst du nun dein Programm schreiben, respektive<br />
fortführen!</p>
<p><strong>Diese 5 Sekunden kannst du in WM_TIMER unter Sleep(); beliebig ändern. Angegeben wird in Millisekunden</strong></p>
<p>Dieses Tutorial wurde geschrieben von Programmer,<br />
Viel Spass beim Ausprobieren, <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>mfg<br />
Pro</p>
<p>PS: Wäre was für das FAQ!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/354773</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/354773</guid><dc:creator><![CDATA[Programmer]]></dc:creator><pubDate>Tue, 16 Sep 2003 16:58:37 GMT</pubDate></item><item><title><![CDATA[Reply to SplashScreen nicht nur MDI&#x2F;SDI sondern auch Dialogbasierende Anwendung! on Tue, 16 Sep 2003 17:17:05 GMT]]></title><description><![CDATA[<p>Kann das bitte jemand austesten, hab momentan absolut keine Zeit.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/354796</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/354796</guid><dc:creator><![CDATA[dEUs]]></dc:creator><pubDate>Tue, 16 Sep 2003 17:17:05 GMT</pubDate></item><item><title><![CDATA[Reply to SplashScreen nicht nur MDI&#x2F;SDI sondern auch Dialogbasierende Anwendung! on Wed, 17 Sep 2003 14:52:00 GMT]]></title><description><![CDATA[<p>hm... wäre eigentlich als ergänzung zu &quot;BEgerüssungsbildschirm&quot; im FAQ gedacht.. *gg* <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/355444</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/355444</guid><dc:creator><![CDATA[Programmer]]></dc:creator><pubDate>Wed, 17 Sep 2003 14:52:00 GMT</pubDate></item><item><title><![CDATA[Reply to SplashScreen nicht nur MDI&#x2F;SDI sondern auch Dialogbasierende Anwendung! on Wed, 17 Sep 2003 15:17:29 GMT]]></title><description><![CDATA[<p>Programmer schrieb:</p>
<blockquote>
<p>hm... wäre eigentlich als ergänzung zu &quot;BEgerüssungsbildschirm&quot; im FAQ gedacht.. *gg* <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
</blockquote>
<p>I know, mir hat bisher aber noch niemand bestätigt, dass das auch funktioniert ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/355468</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/355468</guid><dc:creator><![CDATA[dEUs]]></dc:creator><pubDate>Wed, 17 Sep 2003 15:17:29 GMT</pubDate></item><item><title><![CDATA[Reply to SplashScreen nicht nur MDI&#x2F;SDI sondern auch Dialogbasierende Anwendung! on Wed, 17 Sep 2003 15:27:09 GMT]]></title><description><![CDATA[<p>mh.... das ganze funz ganz gut.... nur mit dem sleep haut nicht so ganz da in der zeit das ganze fenster hängt... besser ist das mit timer...</p>
<p>iTime (int) hinzufügen;<br />
timer hinzufügen (ID_TIMER)</p>
<pre><code class="language-cpp">void CSplashDlg::OnTimer(UINT nIDEvent) 
{
	if(nIDEvent==ID_TIMER) 
	{
		iTime++;
		if(iTime==5) //wie lange soll der splash angezeigt werden
		{
			KillTimer(TRUE);
			CirgendwasDlg::PostMessage(WM_QUIT); //Splash schliessen
			//hier kommt der aufruf dür den neuen dialog
		}
	}
CDialog::OnTimer(nIDEvent);
}
</code></pre>
<p>und in die OnPaint:</p>
<pre><code class="language-cpp">else
	{
		CDialog::OnPaint();
		SetTimer(ID_TIMER,1000,NULL); //Timer in 1sec schritten

	}
</code></pre>
<p>das einige was halt nicht geht ... ist das mit dem dialog aufrufen... das macht der einfach ned...</p>
<p>Joat</p>
]]></description><link>https://www.c-plusplus.net/forum/post/355482</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/355482</guid><dc:creator><![CDATA[JOat]]></dc:creator><pubDate>Wed, 17 Sep 2003 15:27:09 GMT</pubDate></item><item><title><![CDATA[Reply to SplashScreen nicht nur MDI&#x2F;SDI sondern auch Dialogbasierende Anwendung! on Wed, 17 Sep 2003 15:40:16 GMT]]></title><description><![CDATA[<p>Hast ev Dialogklassen verwechselt oder so?<br />
*g*</p>
<p>Ich weiss es nicht, doch bei mir funzt alles... <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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/355496</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/355496</guid><dc:creator><![CDATA[Programmer]]></dc:creator><pubDate>Wed, 17 Sep 2003 15:40:16 GMT</pubDate></item><item><title><![CDATA[Reply to SplashScreen nicht nur MDI&#x2F;SDI sondern auch Dialogbasierende Anwendung! on Wed, 17 Sep 2003 21:43:20 GMT]]></title><description><![CDATA[<p>nö hab ich nicht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>ich habs mit msgboxen durchprobiert... nur kommt der nie dort an... alles was nach CirgendwasDlg::PostMessage(WM_QUIT); wird nicht ausgeführt....</p>
<p>es hängt irgendwie an:</p>
<p>CSplashDlg::PostMessage(WM_QUIT);</p>
<p>wenn ich das auskommentiere funz das nur das dann das splash fenster nicht weggeht.....</p>
<p>JOat</p>
]]></description><link>https://www.c-plusplus.net/forum/post/355783</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/355783</guid><dc:creator><![CDATA[JOat]]></dc:creator><pubDate>Wed, 17 Sep 2003 21:43:20 GMT</pubDate></item><item><title><![CDATA[Reply to SplashScreen nicht nur MDI&#x2F;SDI sondern auch Dialogbasierende Anwendung! on Thu, 18 Sep 2003 06:22:33 GMT]]></title><description><![CDATA[<p>Ist keine gute Lösung da ein SplashScreen angezeigt wird während die Hauptapplikation startet.<br />
Man muss den SplashScreen im Dialog als Modless starten sodaß der eigentliche Dialog weiterlaufen kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/355843</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/355843</guid><dc:creator><![CDATA[Unix-Tom]]></dc:creator><pubDate>Thu, 18 Sep 2003 06:22:33 GMT</pubDate></item><item><title><![CDATA[Reply to SplashScreen nicht nur MDI&#x2F;SDI sondern auch Dialogbasierende Anwendung! on Thu, 18 Sep 2003 18:34:21 GMT]]></title><description><![CDATA[<p>dann mach mal und poste das....:D</p>
<p>btw. kann es sein das die benachrichtigen funktion vom board nicht funzt???</p>
<p>JOat</p>
]]></description><link>https://www.c-plusplus.net/forum/post/356347</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/356347</guid><dc:creator><![CDATA[JOat]]></dc:creator><pubDate>Thu, 18 Sep 2003 18:34:21 GMT</pubDate></item></channel></rss>