<?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[Wie kann ich auf de Desktop zeichnen?]]></title><description><![CDATA[<p>Hallo,<br />
In Winapi kann man zeichnen aber wie kann man auf den Desktop zeichnen<br />
quasi ohne Fenster ?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/229641/wie-kann-ich-auf-de-desktop-zeichnen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 10 Apr 2026 05:37:28 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/229641.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 14 Dec 2008 18:42:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wie kann ich auf de Desktop zeichnen? on Sun, 14 Dec 2008 18:42:16 GMT]]></title><description><![CDATA[<p>Hallo,<br />
In Winapi kann man zeichnen aber wie kann man auf den Desktop zeichnen<br />
quasi ohne Fenster ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1630446</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1630446</guid><dc:creator><![CDATA[KLG7]]></dc:creator><pubDate>Sun, 14 Dec 2008 18:42:16 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann ich auf de Desktop zeichnen? on Sun, 14 Dec 2008 18:50:42 GMT]]></title><description><![CDATA[<p>wenn du den DC mit GetDc(HWND) holst, schreibst du einfach statt HWND NULL rein, und du kannst mie diesem hdc zeichnen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1630451</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1630451</guid><dc:creator><![CDATA[nisi]]></dc:creator><pubDate>Sun, 14 Dec 2008 18:50:42 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann ich auf de Desktop zeichnen? on Sun, 14 Dec 2008 19:07:02 GMT]]></title><description><![CDATA[<p>case WM_PAINT:<br />
{<br />
HDC hDC=GetDC(0);<br />
PAINTSTRUCT ps;<br />
hDC=BeginPaint(0&quot;statt hwnd&quot;,&amp;ps);<br />
{<br />
Rectangle(hDC,0,0,100,100);<br />
}<br />
EndPaint(0&quot;statt hwnd&quot;,&amp;ps);<br />
return 0;<br />
}<br />
so funktionierst ni er zeigt immer noch en Fenster an</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1630457</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1630457</guid><dc:creator><![CDATA[KLG7]]></dc:creator><pubDate>Sun, 14 Dec 2008 19:07:02 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann ich auf de Desktop zeichnen? on Sun, 14 Dec 2008 21:00:33 GMT]]></title><description><![CDATA[<p>lol warum überschreibst du den HDC wieder mit BeginPaint? Entweder du holst dir den HDC mit GetDC oder BeginPaint aber nicht beides. Außerdem musst du den HDC wieder mit ReleaseDC freigeben.<br />
Und was soll das &quot;statt hwnd&quot; im Code?<br />
so hat er es gemeint:</p>
<pre><code class="language-cpp">case WM_PAINT:
{
HDC hDC=GetDC(0); // HDC sollte nicht unbedingt in WM_PAINT deklariert werden
Rectangle(hDC,0,0,100,100);
ReleaseDC(0, hDC);
return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1630516</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1630516</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sun, 14 Dec 2008 21:00:33 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann ich auf de Desktop zeichnen? on Sun, 14 Dec 2008 21:03:34 GMT]]></title><description><![CDATA[<p>Melan schrieb:</p>
<blockquote>
<p>[...] HDC sollte nicht unbedingt in WM_PAINT deklariert werden</p>
</blockquote>
<p>warum?</p>
<p>cheers, Swordfish</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1630521</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1630521</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Sun, 14 Dec 2008 21:03:34 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann ich auf de Desktop zeichnen? on Sun, 14 Dec 2008 21:11:46 GMT]]></title><description><![CDATA[<p>weil er dann mit jedem WM_PAINT neu erstellt wird...<br />
ist zwar kein Fehler aber muss ja nicht sein. Aber das ist wohl Geschmackssache.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1630526</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1630526</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sun, 14 Dec 2008 21:11:46 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann ich auf de Desktop zeichnen? on Sun, 14 Dec 2008 21:14:13 GMT]]></title><description><![CDATA[<p>ich glaub das ist ziemlich egal aber manchma wenn man das in case deklariert kommt initialisierung durch case marke übersprungen darum mache ich es auch lieber auserhlab der cases</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1630527</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1630527</guid><dc:creator><![CDATA[winkek]]></dc:creator><pubDate>Sun, 14 Dec 2008 21:14:13 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann ich auf de Desktop zeichnen? on Sun, 14 Dec 2008 23:00:55 GMT]]></title><description><![CDATA[<p>Erstmal würde ich auf jedenfall in WM_PAINT ein BeginPaint() und EndPaint() verbauen.<br />
EndPaint() sagt Windows dass du dein Fenster neu gezeichnet hast - Lässt man das weg befeuert Windows das Programm ohne Unterbrechung mit WM_PAINT Nachrichten!<br />
(Alternativ gäbe es noch ValidateRect())</p>
<p>Danach kannst du ja immer noch mit GetDC() ReleaseDC() was am Desktop fuschen.<br />
Ohne Fenster geht das auch, GetDC() etc. lassen sich auch außerhalb von WM_PAINT benutzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1630558</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1630558</guid><dc:creator><![CDATA[geeky]]></dc:creator><pubDate>Sun, 14 Dec 2008 23:00:55 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann ich auf de Desktop zeichnen? on Mon, 15 Dec 2008 14:08:50 GMT]]></title><description><![CDATA[<p>thx <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/1630799</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1630799</guid><dc:creator><![CDATA[KLG7]]></dc:creator><pubDate>Mon, 15 Dec 2008 14:08:50 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann ich auf de Desktop zeichnen? on Mon, 15 Dec 2008 17:34:23 GMT]]></title><description><![CDATA[<p>@winkek: Deshalb sind Deklarationen unterhalb von case-Marken auch nicht erlaubt - außer, sie sind in ihrer Gültigkeit durch einen Block beschränkt.</p>
<p>Melan schrieb:</p>
<blockquote>
<p>weil er dann mit jedem WM_PAINT neu erstellt wird...</p>
</blockquote>
<p>Diese Antwort hab' ich befürchtet. Keineswegs <em>muss</em> der Speicher für <code>hDC</code> jedesmal neu reserviert werden - und die meisten Compiler wissen das auch <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="😉"
    /> Der Call von <code>GetDC( )</code> muss natürlich so oder so jedesmal erfolgen.</p>
<p>Mir gefällt Melan's Stil besser, da der Gültigkeitsbereich der Variable mit ihrer Verwendung übereinstimmt.</p>
<p><code>“We should forget about small efficiencies, say about 97% of the time. Premature optimization is the root of all evil</code> –- Knuth, Literate Programming, 1992, p28.</p>
<p>cheers, Swordfish</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1630891</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1630891</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Mon, 15 Dec 2008 17:34:23 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann ich auf de Desktop zeichnen? on Mon, 15 Dec 2008 18:28:32 GMT]]></title><description><![CDATA[<p>speicher reserviert wird sowiso nicht.<br />
Es wird jediglich am anfang platz für einen wert mehr auf dem stack bereit behalten.<br />
ob ich 4 byte oder 400 byte lokal reserviere, macht von der zeit keinen unterschied, da jediglich ein fester wert auf den stackpointer addiert wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1630914</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1630914</guid><dc:creator><![CDATA[vlad_tepesch]]></dc:creator><pubDate>Mon, 15 Dec 2008 18:28:32 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann ich auf de Desktop zeichnen? on Mon, 15 Dec 2008 18:52:41 GMT]]></title><description><![CDATA[<p>vlad_tepesch schrieb:</p>
<blockquote>
<p>speicher reserviert wird sowiso nicht.</p>
</blockquote>
<p>Entschuldige die Wortwahl - das <code>hDC</code> am Stack liegt, ist mir auch klar... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>cheers, Swordfish</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1630927</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1630927</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Mon, 15 Dec 2008 18:52:41 GMT</pubDate></item></channel></rss>