<?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[CreateCompatibleBitmap schlägt fehl?!?!?!? Warum?]]></title><description><![CDATA[<p>Hi,<br />
ich weiß nicht warum folgender Code nicht funktioniert. Es geht ja alles gut, nur bei CreateCompatibleBitmap kommt ein NULL raus, warum? Was mache ich falsch?</p>
<pre><code class="language-cpp">m_hWnd = hWnd;
	GetClientRect(hWnd, &amp;(m_rcScreenRect));
	m_hdcFront = GetDC(m_hWnd);
	if(m_hdcFront == NULL)
	{
		return false;
	}

	m_hdcBack = CreateCompatibleDC(m_hdcFront);
	if(m_hdcBack == NULL)
	{
		Free();
		return false;
	}
	m_hdcBitmap = CreateCompatibleDC(m_hdcFront);
	if(m_hdcBitmap == NULL)
	{
		Free();
		return false;
	}
	m_hCompBitmap = CreateCompatibleBitmap(m_hdcBitmap,m_rcScreenRect.right, m_rcScreenRect.bottom); // Hier
	if(m_hOldBitmap == NULL)
	{
		Free();
		return false;
	}
	m_hOldBitmap = (HBITMAP)SelectObject(m_hdcBack, m_hCompBitmap);	
	if(m_hOldBitmap == NULL)
	{
		Free();
		return false;
	}
</code></pre>
<p>Ich hoffe ihr könnt mir helfen</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/70207/createcompatiblebitmap-schlägt-fehl-warum</link><generator>RSS for Node</generator><lastBuildDate>Thu, 09 Apr 2026 08:28:36 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/70207.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 05 Apr 2004 12:48:31 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to CreateCompatibleBitmap schlägt fehl?!?!?!? Warum? on Mon, 05 Apr 2004 12:48:31 GMT]]></title><description><![CDATA[<p>Hi,<br />
ich weiß nicht warum folgender Code nicht funktioniert. Es geht ja alles gut, nur bei CreateCompatibleBitmap kommt ein NULL raus, warum? Was mache ich falsch?</p>
<pre><code class="language-cpp">m_hWnd = hWnd;
	GetClientRect(hWnd, &amp;(m_rcScreenRect));
	m_hdcFront = GetDC(m_hWnd);
	if(m_hdcFront == NULL)
	{
		return false;
	}

	m_hdcBack = CreateCompatibleDC(m_hdcFront);
	if(m_hdcBack == NULL)
	{
		Free();
		return false;
	}
	m_hdcBitmap = CreateCompatibleDC(m_hdcFront);
	if(m_hdcBitmap == NULL)
	{
		Free();
		return false;
	}
	m_hCompBitmap = CreateCompatibleBitmap(m_hdcBitmap,m_rcScreenRect.right, m_rcScreenRect.bottom); // Hier
	if(m_hOldBitmap == NULL)
	{
		Free();
		return false;
	}
	m_hOldBitmap = (HBITMAP)SelectObject(m_hdcBack, m_hCompBitmap);	
	if(m_hOldBitmap == NULL)
	{
		Free();
		return false;
	}
</code></pre>
<p>Ich hoffe ihr könnt mir helfen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/495428</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/495428</guid><dc:creator><![CDATA[Bittie, Freund von Bit]]></dc:creator><pubDate>Mon, 05 Apr 2004 12:48:31 GMT</pubDate></item><item><title><![CDATA[Reply to CreateCompatibleBitmap schlägt fehl?!?!?!? Warum? on Mon, 05 Apr 2004 12:49:39 GMT]]></title><description><![CDATA[<p>Probier da auch mal m_hdcFront zu verwenden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/495431</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/495431</guid><dc:creator><![CDATA[dEUs]]></dc:creator><pubDate>Mon, 05 Apr 2004 12:49:39 GMT</pubDate></item><item><title><![CDATA[Reply to CreateCompatibleBitmap schlägt fehl?!?!?!? Warum? on Mon, 05 Apr 2004 12:53:44 GMT]]></title><description><![CDATA[<p>Nein, es geht leider immer noch nicht, auch m_hdcBack bringt einen Fehler.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/495439</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/495439</guid><dc:creator><![CDATA[Bittie again]]></dc:creator><pubDate>Mon, 05 Apr 2004 12:53:44 GMT</pubDate></item><item><title><![CDATA[Reply to CreateCompatibleBitmap schlägt fehl?!?!?!? Warum? on Mon, 05 Apr 2004 12:55:32 GMT]]></title><description><![CDATA[<p>Was heisst, es schlägt fehl?<br />
Liegt es vielleicht einfach daran, dass in deinem if, was falsches überprüft wird?</p>
<pre><code class="language-cpp">m_hCompBitmap = CreateCompatibleBitmap(m_hdcBitmap,m_rcScreenRect.right, m_rcScreenRect.bottom); // Hier
    if(m_hOldBitmap == NULL)
    {
        Free();
        return false;
    }
</code></pre>
<p>Sollte hier nicht stehen:</p>
<pre><code class="language-cpp">if(m_hCompBitmap == NULL)
</code></pre>
<p>?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/495442</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/495442</guid><dc:creator><![CDATA[dEUs]]></dc:creator><pubDate>Mon, 05 Apr 2004 12:55:32 GMT</pubDate></item><item><title><![CDATA[Reply to CreateCompatibleBitmap schlägt fehl?!?!?!? Warum? on Mon, 05 Apr 2004 13:02:55 GMT]]></title><description><![CDATA[<p>ok, dummer fehler <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="🙄"
    /> , er beendet das programm nicht mehr aber er blittet auch nicht, ich schätze das liegt an der Flip Funktion:</p>
<pre><code class="language-cpp">bool CBuffer::Blt(CBitmap Bitmap, int iX, int iY)
{
	bool bReturn;
	HBITMAP hOldBitmap = (HBITMAP) SelectObject(m_hdcBitmap, Bitmap.GetBitmap());
	bReturn = BitBlt(m_hdcBack, iX, iY, m_rcScreenRect.right,m_rcScreenRect.bottom,  m_hdcBitmap, 0, 0, SRCCOPY) != 0 ? true : false; //Muss das anders rum?
	SelectObject(m_hdcBitmap, hOldBitmap);
	return bReturn;
}
</code></pre>
<p>Aufruf:</p>
<pre><code class="language-cpp">if(Buffer.Flip() == false) break;
</code></pre>
<p>danke im vorraus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/495451</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/495451</guid><dc:creator><![CDATA[Bytey]]></dc:creator><pubDate>Mon, 05 Apr 2004 13:02:55 GMT</pubDate></item><item><title><![CDATA[Reply to CreateCompatibleBitmap schlägt fehl?!?!?!? Warum? on Mon, 05 Apr 2004 13:07:04 GMT]]></title><description><![CDATA[<p>erstens sehe ich hier nirgendwo eine flipfunktion.<br />
zweitens: wieso mixt du MFC und WinAPI so grausam?<br />
drittens: was soll</p>
<pre><code class="language-cpp">Bitmap.GetBitmap()
</code></pre>
<p>? Hast du dir in der MSDN schonmal angeschaut, was GetBitmap für eine Funktion ist ?!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/495457</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/495457</guid><dc:creator><![CDATA[dEUs]]></dc:creator><pubDate>Mon, 05 Apr 2004 13:07:04 GMT</pubDate></item><item><title><![CDATA[Reply to CreateCompatibleBitmap schlägt fehl?!?!?!? Warum? on Mon, 05 Apr 2004 13:13:59 GMT]]></title><description><![CDATA[<p>CBitmap ist eine eigene Klasse, GetBitmap() gibt ein Handle auf das Bitmap(HBITMAP) zurück. In CBuffer ist eine Funktion die heißt Flip und kopiert den Backbuffer auf den Frontbuffer.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/495465</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/495465</guid><dc:creator><![CDATA[MBytey]]></dc:creator><pubDate>Mon, 05 Apr 2004 13:13:59 GMT</pubDate></item><item><title><![CDATA[Reply to CreateCompatibleBitmap schlägt fehl?!?!?!? Warum? on Mon, 05 Apr 2004 13:17:35 GMT]]></title><description><![CDATA[<p>aha</p>
]]></description><link>https://www.c-plusplus.net/forum/post/495468</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/495468</guid><dc:creator><![CDATA[dEUs]]></dc:creator><pubDate>Mon, 05 Apr 2004 13:17:35 GMT</pubDate></item><item><title><![CDATA[Reply to CreateCompatibleBitmap schlägt fehl?!?!?!? Warum? on Mon, 05 Apr 2004 13:37:14 GMT]]></title><description><![CDATA[<p>Wieso übergibst du bei BitBlt Screen-Koordinaten? Und wo rufst du den ganzen Code (bes. CBuffer::Blt) auf? Sind dort die ganzen Variablen gültig?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/495492</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/495492</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Mon, 05 Apr 2004 13:37:14 GMT</pubDate></item><item><title><![CDATA[Reply to CreateCompatibleBitmap schlägt fehl?!?!?!? Warum? on Mon, 05 Apr 2004 18:12:06 GMT]]></title><description><![CDATA[<p>Och man heute bin ich durcheinander <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="🙄"
    /> ... so nochmal:</p>
<p>Funktion Flip:</p>
<pre><code class="language-cpp">bool CBuffer::Flip()
{
// Debugger sagt das hdcFront,hdcBack und hdcBitmap, Werte ungleich null haben und somit korrekt initalisiert wurden
	if(BitBlt(m_hdcFront, m_rcScreenRect.left, m_rcScreenRect.top,m_rcScreenRect.right, m_rcScreenRect.bottom, m_hdcBack, 0, 0, SRCCOPY) != 0)
	{
		return true;
	}
	else
	{
// Hier sind hdcFront und hdcBack... auch noch korrekte Werte
		return false;
	}
}
</code></pre>
<p>Und hier Aufruf:</p>
<pre><code class="language-cpp">if(AnimateNextFrame(FRAME_RATE))
			{
				//ClearScreen(g_Buffer.hdcBack,g_Buffer.scrnRect,BLACK_BRUSH);
				Box.CheckKeys(bKeys);
				Box.Blt(Buffer,&amp;Font);
				if(iSpielZustand == SP_GAME)
				{
					if(!Map.CheckTeleports(&amp;Player))
					{
					Map.Blt(&amp;Buffer,Cam);

					Player.Blt(Buffer,&amp;Map,&amp;Cam);
					Player.CheckKeys(bKeys);

					char strTemp[1024];
					sprintf(strTemp,&quot;%d,%d  %d,%d&quot;,(Player.GetX()+8)/16,(Player.GetY()+27)/16,Player.GetX()+8,Player.GetY()+27);
					Buffer.TextBlt(strTemp,0,0,RGB(255,255,255));
					//TextOut(g_Buffer.hdcBack,0,0,strTemp,strlen(strTemp));
					}
				}
				else if(iSpielZustand == SP_INTRO)
				{

					Buffer.Blt(&amp;Intro,200,150);
					if(bKeys[VK_SPACE]) iSpielZustand = SP_GAME;
				}

				if(Buffer.Flip() == false) break;
							}
</code></pre>
<p>...*nochmal debug*...<br />
hmm, warum sind die hBitmaps leer?<br />
Ist dieser Code richtig?</p>
<pre><code class="language-cpp">m_hBitmap = (HBITMAP)LoadImage(NULL,strFileName,IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/495756</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/495756</guid><dc:creator><![CDATA[Bittie]]></dc:creator><pubDate>Mon, 05 Apr 2004 18:12:06 GMT</pubDate></item><item><title><![CDATA[Reply to CreateCompatibleBitmap schlägt fehl?!?!?!? Warum? on Mon, 05 Apr 2004 19:42:03 GMT]]></title><description><![CDATA[<p>sollte da nicht LR_LOADFROMFILE hin, siehe <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/resources/introductiontoresources/resourcereference/resourcefunctions/loadimage.asp" rel="nofollow">http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/resources/introductiontoresources/resourcereference/resourcefunctions/loadimage.asp</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/495809</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/495809</guid><dc:creator><![CDATA[miller_m]]></dc:creator><pubDate>Mon, 05 Apr 2004 19:42:03 GMT</pubDate></item><item><title><![CDATA[Reply to CreateCompatibleBitmap schlägt fehl?!?!?!? Warum? on Mon, 05 Apr 2004 20:57:03 GMT]]></title><description><![CDATA[<p>Dankeschö, jetzt haben die Bitmaps wieder einen Wert, <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="😃"
    /> doch das Flippen geht immer noch nicht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/495868</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/495868</guid><dc:creator><![CDATA[Giga bittie]]></dc:creator><pubDate>Mon, 05 Apr 2004 20:57:03 GMT</pubDate></item><item><title><![CDATA[Reply to CreateCompatibleBitmap schlägt fehl?!?!?!? Warum? on Tue, 06 Apr 2004 06:40:19 GMT]]></title><description><![CDATA[<p>und was sagt GetLastError() dazu?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/495956</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/495956</guid><dc:creator><![CDATA[miller_m]]></dc:creator><pubDate>Tue, 06 Apr 2004 06:40:19 GMT</pubDate></item><item><title><![CDATA[Reply to CreateCompatibleBitmap schlägt fehl?!?!?!? Warum? on Tue, 06 Apr 2004 11:40:10 GMT]]></title><description><![CDATA[<p>GetLastError sagt bei mir 87, ich weiß leider nicht was für ein Fehler das ist. ich hab mal gehört das Getlasterror nur bei Win NT oder höher geht</p>
]]></description><link>https://www.c-plusplus.net/forum/post/496192</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/496192</guid><dc:creator><![CDATA[Bittie]]></dc:creator><pubDate>Tue, 06 Apr 2004 11:40:10 GMT</pubDate></item><item><title><![CDATA[Reply to CreateCompatibleBitmap schlägt fehl?!?!?!? Warum? on Tue, 06 Apr 2004 11:41:53 GMT]]></title><description><![CDATA[<p>MSDN sagt:</p>
<pre><code>87 | The parameter is incorrect. | ERROR_INVALID_PARAMETER
</code></pre>
<p>Häh???</p>
]]></description><link>https://www.c-plusplus.net/forum/post/496195</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/496195</guid><dc:creator><![CDATA[MBytey]]></dc:creator><pubDate>Tue, 06 Apr 2004 11:41:53 GMT</pubDate></item><item><title><![CDATA[Reply to CreateCompatibleBitmap schlägt fehl?!?!?!? Warum? on Tue, 06 Apr 2004 11:53:08 GMT]]></title><description><![CDATA[<p>Wo hast du GetLastError aufgerufen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/496206</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/496206</guid><dc:creator><![CDATA[dEUs]]></dc:creator><pubDate>Tue, 06 Apr 2004 11:53:08 GMT</pubDate></item><item><title><![CDATA[Reply to CreateCompatibleBitmap schlägt fehl?!?!?!? Warum? on Tue, 06 Apr 2004 11:56:12 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">int i = 0;
i = GetLastError();
	DeInit();// Hier beträgt i = 87
	UnregisterClass(WINDOWCLASS,hInstance);
	return msg.wParam ;										
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/496211</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/496211</guid><dc:creator><![CDATA[MBytey]]></dc:creator><pubDate>Tue, 06 Apr 2004 11:56:12 GMT</pubDate></item><item><title><![CDATA[Reply to CreateCompatibleBitmap schlägt fehl?!?!?!? Warum? on Tue, 06 Apr 2004 12:30:40 GMT]]></title><description><![CDATA[<p>MBytey schrieb:</p>
<blockquote>
<pre><code class="language-cpp">int i = 0;
i = GetLastError();
	DeInit();// Hier beträgt i = 87
	UnregisterClass(WINDOWCLASS,hInstance);
	return msg.wParam ;										
}
</code></pre>
</blockquote>
<p>und was steht drüber <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/496241</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/496241</guid><dc:creator><![CDATA[miller_m]]></dc:creator><pubDate>Tue, 06 Apr 2004 12:30:40 GMT</pubDate></item></channel></rss>