<?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[Problem bei der initialisierung des hpen]]></title><description><![CDATA[<p>guten abend,<br />
ich würde gerne ein paar einfache formen in mein window zeichnen, leider habe ich probleme bei der erstellung eines hpen in der wm_paint. kann mir jemand von euch weiterhelfen? kann leider nicht viel mit der fehlermeldung anfangen, da ich gerade erst mit c++ angefangen habe.</p>
<p>mein bisheriger code:</p>
<pre><code class="language-cpp">case WM_PAINT:
		PAINTSTRUCT ps;
            HDC hDC;

            // Handle des Device Context anfordern
            hDC = BeginPaint(hWnd,&amp;ps);    

            // drei neue Stift mit verschiedenen Farben und
            // StrichstÃ¤rken erzeugen
            HPEN PenRed   = CreatePen(PS_SOLID,3,RGB(255,0,0));
            HPEN PenGreen = CreatePen(PS_SOLID,2,RGB(0,255,0));
            HPEN PenBlue  = CreatePen(PS_SOLID,1,RGB(0,0,255));

            // den ersten Stift wÃ¤hlen und zwei Ellipsen zeichnen
            SelectObject(hDC,PenBlue);
            Ellipse(hDC,60,5,340,250);
            Ellipse(hDC,150,190,250,210);

            // den zweiten Stift wÃ¤hlen und zwei Rechtecke zeichnen
            SelectObject(hDC,PenGreen);
            Rectangle(hDC,110,40,160,80);
            Rectangle(hDC,240,40,290,80);

            // den dritten Stift wÃ¤hlen und drei Striche zeichnen                  
            SelectObject(hDC,PenRed);
            MoveToEx(hDC,200,120,NULL);
            LineTo(hDC,180,150);
            LineTo(hDC,220,150);
            LineTo(hDC,200,120);

            // die Stifte mÃ¼ssen wieder gelÃ¶scht werden
            DeleteObject(PenRed);
            DeleteObject(PenGreen);
            DeleteObject(PenBlue);

            // mitteilen, dass die Zeichenoperationen abgeschlossen sind
            EndPaint(hWnd,&amp;ps);

            return 0;
        break;
</code></pre>
<p>fehlermeldung:</p>
<blockquote>
<p>error C2360: initialization of 'PenBlue' is skipped by 'case' label</p>
</blockquote>
<p>vielen dank und einen schönen abend noch.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/266306/problem-bei-der-initialisierung-des-hpen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 03 Sep 2026 07:14:12 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/266306.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 06 May 2010 23:02:39 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem bei der initialisierung des hpen on Thu, 06 May 2010 23:02:39 GMT]]></title><description><![CDATA[<p>guten abend,<br />
ich würde gerne ein paar einfache formen in mein window zeichnen, leider habe ich probleme bei der erstellung eines hpen in der wm_paint. kann mir jemand von euch weiterhelfen? kann leider nicht viel mit der fehlermeldung anfangen, da ich gerade erst mit c++ angefangen habe.</p>
<p>mein bisheriger code:</p>
<pre><code class="language-cpp">case WM_PAINT:
		PAINTSTRUCT ps;
            HDC hDC;

            // Handle des Device Context anfordern
            hDC = BeginPaint(hWnd,&amp;ps);    

            // drei neue Stift mit verschiedenen Farben und
            // StrichstÃ¤rken erzeugen
            HPEN PenRed   = CreatePen(PS_SOLID,3,RGB(255,0,0));
            HPEN PenGreen = CreatePen(PS_SOLID,2,RGB(0,255,0));
            HPEN PenBlue  = CreatePen(PS_SOLID,1,RGB(0,0,255));

            // den ersten Stift wÃ¤hlen und zwei Ellipsen zeichnen
            SelectObject(hDC,PenBlue);
            Ellipse(hDC,60,5,340,250);
            Ellipse(hDC,150,190,250,210);

            // den zweiten Stift wÃ¤hlen und zwei Rechtecke zeichnen
            SelectObject(hDC,PenGreen);
            Rectangle(hDC,110,40,160,80);
            Rectangle(hDC,240,40,290,80);

            // den dritten Stift wÃ¤hlen und drei Striche zeichnen                  
            SelectObject(hDC,PenRed);
            MoveToEx(hDC,200,120,NULL);
            LineTo(hDC,180,150);
            LineTo(hDC,220,150);
            LineTo(hDC,200,120);

            // die Stifte mÃ¼ssen wieder gelÃ¶scht werden
            DeleteObject(PenRed);
            DeleteObject(PenGreen);
            DeleteObject(PenBlue);

            // mitteilen, dass die Zeichenoperationen abgeschlossen sind
            EndPaint(hWnd,&amp;ps);

            return 0;
        break;
</code></pre>
<p>fehlermeldung:</p>
<blockquote>
<p>error C2360: initialization of 'PenBlue' is skipped by 'case' label</p>
</blockquote>
<p>vielen dank und einen schönen abend noch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1893596</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1893596</guid><dc:creator><![CDATA[palmdale]]></dc:creator><pubDate>Thu, 06 May 2010 23:02:39 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei der initialisierung des hpen on Thu, 06 May 2010 23:19:32 GMT]]></title><description><![CDATA[<p>Das Problem tritt auf, wenn man solche Konstrukte baut:</p>
<pre><code class="language-cpp">// Sei T irgendein Typ
switch(foo)
{
 case 1:
  T t(0);
  break;
 case 2:
   // Die Variable t existiert hier zwar, ist aber nicht initialisiert
   // Dieses Verhalten ist so unsicher, dass du einen Fehler bekommst
  break;
}
</code></pre>
<p>Lösung: Zieh Variablen die du in allen cases brauchst aus dem switch heraus. Für Variablen die nur innerhalb eines cases gebraucht werden, machst du einen neuen Scope auf.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1893600</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1893600</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 06 May 2010 23:19:32 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei der initialisierung des hpen on Thu, 06 May 2010 23:24:54 GMT]]></title><description><![CDATA[<p>Bei solchen Fehlermeldungen hilft es manchmal die Hilfe aufzurufen bzw. nach dem Fehler zu googeln. Oft bietet Microsoft gleich einen passenden Hinweis zur Lösung.</p>
<p>Z.B.: <a href="http://msdn.microsoft.com/de-de/library/61af7cx3%28VS.80%29.aspx" rel="nofollow">http://msdn.microsoft.com/de-de/library/61af7cx3(VS.80).aspx</a></p>
<p>Sollte den Fehler eigentlich auch beseitigen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1893602</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1893602</guid><dc:creator><![CDATA[Mitleid]]></dc:creator><pubDate>Thu, 06 May 2010 23:24:54 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei der initialisierung des hpen on Fri, 07 May 2010 01:32:49 GMT]]></title><description><![CDATA[<p>super vielen dank. ich hab die pens vor den switch gepackt und auch erst dahinter gelöscht. alles super. vielen dank für die schnelle hilfe. und danke für den link zur hilfe, da muss ich wohl öfter reingucken <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="😉"
    /> , ist ja ganz gut erklärt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1893615</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1893615</guid><dc:creator><![CDATA[palmdale]]></dc:creator><pubDate>Fri, 07 May 2010 01:32:49 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei der initialisierung des hpen on Fri, 07 May 2010 08:16:23 GMT]]></title><description><![CDATA[<p>Für lokale Variablen nur innerhalb eines case ist (wie SeppJ schon schrieb) ein eigener Scope besser, d.h.</p>
<pre><code class="language-cpp">case WM_PAINT:
{  // &lt;- Scope-Anfang

    // Handle des Device Context anfordern
    HDC hDC = BeginPaint(hWnd,&amp;ps);

    ...

   return 0; // kein break mehr nötig (s. P.S.)

}  // &lt;- Scope-Ende
</code></pre>
<p>P.S.: Du brauchst auch nur entweder 'break' oder 'return' am Ende der case-Anweisung anzugeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1893673</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1893673</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Fri, 07 May 2010 08:16:23 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei der initialisierung des hpen on Fri, 07 May 2010 17:02:18 GMT]]></title><description><![CDATA[<p>danke, dann werde ich das mal aufräumen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1893923</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1893923</guid><dc:creator><![CDATA[palmdale]]></dc:creator><pubDate>Fri, 07 May 2010 17:02:18 GMT</pubDate></item></channel></rss>