<?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 mit Memory DCs]]></title><description><![CDATA[<p>also ich hab ein fenster dass ein graph zeichnen soll. In WM_CREATE wird ein DC im hauptspeicher erstellt und der graph wird dorthinein gezeichnet. in WM_PAINT wird er dann auf den bildschirm geblittet. Leider bleibt bei mir alles weiß <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>
<pre><code class="language-cpp">case WM_CREATE: //LPARAM = input
		input = (PredatorPreyInput*)(((CREATESTRUCT*)lParam)-&gt;lpCreateParams);
		points = Interpolate_Linear(*input, ComputePredatorPreyPoints(input));

		hdcMem = CreateCompatibleDC(0);
		hBitmap = CreateCompatibleBitmap(0, input-&gt;iLenght, input-&gt;iHeight);

		//draw the graph:
		for(int i=0;i&lt;(input-&gt;iLenght);i++)
		{
			min = (int)min(points-&gt;Predator, points-&gt;Predator);
			color = MixColor(input-&gt;PredatorColor, input-&gt;PreyColor);

			hPen = CreatePen(PS_SOLID, 1, color);
			SelectObject(hdcMem, hPen);
			MoveToEx(hdcMem, i, 0, NULL);
			LineTo(hdcMem, i, min);
			if(points-&gt;Predator &gt; points-&gt;Prey)
			{
				hPen = CreatePen(PS_SOLID, 1, input-&gt;PredatorColor);
				DeleteObject(SelectObject(hdcMem, hPen));
				MoveToEx(hdcMem, i, min, NULL);
				LineTo(hdcMem, i, (int)points-&gt;Predator);
			}
			if(points-&gt;Prey &gt; points-&gt;Predator)
			{
				hPen = CreatePen(PS_SOLID, 1, input-&gt;PreyColor);
				DeleteObject(SelectObject(hdcMem, hPen));
				MoveToEx(hdcMem, i, min, NULL);
				LineTo(hdcMem, i, (int)points-&gt;Prey);
			}
		}
		SetWindowLong(hwnd, GWL_USERDATA, (LONG)hdcMem);
		break;
</code></pre>
<pre><code class="language-cpp">case WM_PAINT:
		hdc = BeginPaint(hwnd, &amp;ps);
		GetClientRect(hwnd, &amp;rect);
 		BitBlt(hdc, rect.left, rect.top, rect.right, rect.bottom, (HDC)GetWindowLong(hwnd, GWL_USERDATA), 0, 0, SRCCOPY);
		EndPaint(hwnd, &amp;ps);
		break;
</code></pre>
<p>(int)points-&gt;Prey und (int)points-&gt;Predator stimmen (mit debugger ausgelesen).<br />
Leider komme ich im moment nichmehr weiter deshalb wollte ich euch fragen ob ihr einen fehler seht <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/topic/229887/problem-mit-memory-dcs</link><generator>RSS for Node</generator><lastBuildDate>Fri, 10 Apr 2026 02:48:05 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/229887.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 17 Dec 2008 19:45:19 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit Memory DCs on Wed, 17 Dec 2008 19:45:19 GMT]]></title><description><![CDATA[<p>also ich hab ein fenster dass ein graph zeichnen soll. In WM_CREATE wird ein DC im hauptspeicher erstellt und der graph wird dorthinein gezeichnet. in WM_PAINT wird er dann auf den bildschirm geblittet. Leider bleibt bei mir alles weiß <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>
<pre><code class="language-cpp">case WM_CREATE: //LPARAM = input
		input = (PredatorPreyInput*)(((CREATESTRUCT*)lParam)-&gt;lpCreateParams);
		points = Interpolate_Linear(*input, ComputePredatorPreyPoints(input));

		hdcMem = CreateCompatibleDC(0);
		hBitmap = CreateCompatibleBitmap(0, input-&gt;iLenght, input-&gt;iHeight);

		//draw the graph:
		for(int i=0;i&lt;(input-&gt;iLenght);i++)
		{
			min = (int)min(points-&gt;Predator, points-&gt;Predator);
			color = MixColor(input-&gt;PredatorColor, input-&gt;PreyColor);

			hPen = CreatePen(PS_SOLID, 1, color);
			SelectObject(hdcMem, hPen);
			MoveToEx(hdcMem, i, 0, NULL);
			LineTo(hdcMem, i, min);
			if(points-&gt;Predator &gt; points-&gt;Prey)
			{
				hPen = CreatePen(PS_SOLID, 1, input-&gt;PredatorColor);
				DeleteObject(SelectObject(hdcMem, hPen));
				MoveToEx(hdcMem, i, min, NULL);
				LineTo(hdcMem, i, (int)points-&gt;Predator);
			}
			if(points-&gt;Prey &gt; points-&gt;Predator)
			{
				hPen = CreatePen(PS_SOLID, 1, input-&gt;PreyColor);
				DeleteObject(SelectObject(hdcMem, hPen));
				MoveToEx(hdcMem, i, min, NULL);
				LineTo(hdcMem, i, (int)points-&gt;Prey);
			}
		}
		SetWindowLong(hwnd, GWL_USERDATA, (LONG)hdcMem);
		break;
</code></pre>
<pre><code class="language-cpp">case WM_PAINT:
		hdc = BeginPaint(hwnd, &amp;ps);
		GetClientRect(hwnd, &amp;rect);
 		BitBlt(hdc, rect.left, rect.top, rect.right, rect.bottom, (HDC)GetWindowLong(hwnd, GWL_USERDATA), 0, 0, SRCCOPY);
		EndPaint(hwnd, &amp;ps);
		break;
</code></pre>
<p>(int)points-&gt;Prey und (int)points-&gt;Predator stimmen (mit debugger ausgelesen).<br />
Leider komme ich im moment nichmehr weiter deshalb wollte ich euch fragen ob ihr einen fehler seht <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/1632053</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1632053</guid><dc:creator><![CDATA[tobZel]]></dc:creator><pubDate>Wed, 17 Dec 2008 19:45:19 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Memory DCs on Wed, 17 Dec 2008 21:43:27 GMT]]></title><description><![CDATA[<p>Du hast zwar nen hdcMem und nen hBitmap - Du selektierst die hBitmap aber nirgends in hdcMem!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1632136</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1632136</guid><dc:creator><![CDATA[geeky]]></dc:creator><pubDate>Wed, 17 Dec 2008 21:43:27 GMT</pubDate></item></channel></rss>