<?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[Drawtext() Text liegt unterm BackgroundBitmap]]></title><description><![CDATA[<p>hi <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>
<p>Ich zeichne in meinem code ein Bitmap als Hintergrund (bg=background) und dann einen Text. Wenn ich den Code dann ausführe liegt jedoch immer das Bild vor dem Text (sprich der Text ist garnicht sichtbar). Wenn ich den code zum Zeichnen des Bitmaps entferne sehe ich den Text.</p>
<p>Wie sage ich dem Programm das es den Text vor dem Bild zeichen soll? Warum werden die zwei Sachen den von Windows anders gezeichnet als es im code steht? *confused* <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>
<pre><code>case WM_PAINT:
		{
			// Draw Backgroundimage
			BITMAP bm;
			PAINTSTRUCT ps;

			HDC hdc= BeginPaint(hwnd, &amp;ps);

			HDC hdcMem = CreateCompatibleDC(hdc);
			HGDIOBJ hbmOld = SelectObject(hdcMem, bg);

			GetObject(bg, sizeof(bm), &amp;bm);

			BitBlt(hdc, 0, 0, bm.bmWidth, bm.bmHeight, hdcMem, 0, 0, SRCCOPY);

			SelectObject(hdcMem, hbmOld);
			DeleteDC(hdcMem);

			EndPaint(hwnd, &amp;ps);

			// Draw some Text
			RECT txtrect;
			GetClientRect(hwnd, &amp;txtrect);
			hdc = BeginPaint(hwnd, &amp;ps);
			SetBkColor(hdc, RGB(255,0,0));
			SetTextColor(hdc, RGB(255,255,255));
			{
				DrawText(hdc, TEXT(&quot;SOMETEXT&quot;), 8, &amp;txtrect, DT_WORDBREAK);
			}
			EndPaint(hwnd, &amp;ps);
		}
		break;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/223625/drawtext-text-liegt-unterm-backgroundbitmap</link><generator>RSS for Node</generator><lastBuildDate>Sun, 12 Apr 2026 07:19:02 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/223625.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 28 Sep 2008 20:10:19 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Drawtext() Text liegt unterm BackgroundBitmap on Sun, 28 Sep 2008 20:10:19 GMT]]></title><description><![CDATA[<p>hi <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>
<p>Ich zeichne in meinem code ein Bitmap als Hintergrund (bg=background) und dann einen Text. Wenn ich den Code dann ausführe liegt jedoch immer das Bild vor dem Text (sprich der Text ist garnicht sichtbar). Wenn ich den code zum Zeichnen des Bitmaps entferne sehe ich den Text.</p>
<p>Wie sage ich dem Programm das es den Text vor dem Bild zeichen soll? Warum werden die zwei Sachen den von Windows anders gezeichnet als es im code steht? *confused* <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>
<pre><code>case WM_PAINT:
		{
			// Draw Backgroundimage
			BITMAP bm;
			PAINTSTRUCT ps;

			HDC hdc= BeginPaint(hwnd, &amp;ps);

			HDC hdcMem = CreateCompatibleDC(hdc);
			HGDIOBJ hbmOld = SelectObject(hdcMem, bg);

			GetObject(bg, sizeof(bm), &amp;bm);

			BitBlt(hdc, 0, 0, bm.bmWidth, bm.bmHeight, hdcMem, 0, 0, SRCCOPY);

			SelectObject(hdcMem, hbmOld);
			DeleteDC(hdcMem);

			EndPaint(hwnd, &amp;ps);

			// Draw some Text
			RECT txtrect;
			GetClientRect(hwnd, &amp;txtrect);
			hdc = BeginPaint(hwnd, &amp;ps);
			SetBkColor(hdc, RGB(255,0,0));
			SetTextColor(hdc, RGB(255,255,255));
			{
				DrawText(hdc, TEXT(&quot;SOMETEXT&quot;), 8, &amp;txtrect, DT_WORDBREAK);
			}
			EndPaint(hwnd, &amp;ps);
		}
		break;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1589871</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1589871</guid><dc:creator><![CDATA[gluestick]]></dc:creator><pubDate>Sun, 28 Sep 2008 20:10:19 GMT</pubDate></item><item><title><![CDATA[Reply to Drawtext() Text liegt unterm BackgroundBitmap on Sun, 28 Sep 2008 20:20:21 GMT]]></title><description><![CDATA[<p>was mir auf den ersten blick komisch vorkommt sind deine 2 BeginPaint und EndPaint.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1589877</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1589877</guid><dc:creator><![CDATA[vlad_tepesch]]></dc:creator><pubDate>Sun, 28 Sep 2008 20:20:21 GMT</pubDate></item><item><title><![CDATA[Reply to Drawtext() Text liegt unterm BackgroundBitmap on Sun, 28 Sep 2008 23:12:47 GMT]]></title><description><![CDATA[<p>gluestick schrieb:</p>
<blockquote>
<p>hi <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>
<p>Ich zeichne in meinem code ein Bitmap als Hintergrund (bg=background) und dann einen Text. Wenn ich den Code dann ausführe liegt jedoch immer das Bild vor dem Text (<strong>sprich der Text ist garnicht sichtbar</strong>).</p>
</blockquote>
<p>Der Text ist nicht sichtbar weil er nicht nach der Bitmap dargestellt wird sondern wiel er wohl gar nicht dargestellt wird.</p>
<p>Wie von vlad_tepesch angesprochen hat das mit dem Begin und Endpaint zu tun.</p>
<p>Pack alles in ein Begin und End hinein</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1589945</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1589945</guid><dc:creator><![CDATA[Kuldren]]></dc:creator><pubDate>Sun, 28 Sep 2008 23:12:47 GMT</pubDate></item><item><title><![CDATA[Reply to Drawtext() Text liegt unterm BackgroundBitmap on Mon, 29 Sep 2008 06:06:26 GMT]]></title><description><![CDATA[<p>Genau! Dadurch das bereits einmal BeginPaint/EndPaint aufgerufen wurde ist das Paintrect leer und wir dgar nicht gezeichnet. WM_PAINT zeichner nur die Bereiche einmal, die auch gezeichnet werden müssen, und validiert diese anschließend.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1590024</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1590024</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Mon, 29 Sep 2008 06:06:26 GMT</pubDate></item></channel></rss>