<?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[Clipping-Problem...]]></title><description><![CDATA[<p>hallo liebe Coder,</p>
<p>ich habe bei einer OnPaint Handler ein retangle angelegt, indem gezeichnet werden soll. Nun möchte ich aber noch im selben aufruf die hälfte der restlichen zeichnungen in einem bestimmten bereich zeichnen lassen, der definitiv kleiner ist als mein jetziger...</p>
<p>hier ein paar erfolgslose ideen bisher:</p>
<pre><code class="language-cpp">void CGraph::OnPaint()
{
	if ( !m_nXY || !m_xy )
	{
		CWnd::OnPaint();
		return;
	}
	CPaintDC dc(this); 

	CRect rcClient ;

        CRect clipRect(0, 0, 200, 100);

        dc.SetClip(clipRect); // Funktioniert nicht!

	GetClientRect(&amp;rcClient);
</code></pre>
<p>oder auch hier etwas:</p>
<pre><code class="language-cpp">CRect rcClient ;

	CPoint rect_topleft , rect_bottomright ; 

        // Ecken zwischenspeichern
	rect_topleft		= rcClient.TopLeft();
	rect_bottomright	= rcClient.BottomRight();

	// Zeichenbereich verkleinern ( ecken verändern)
	rect_topleft.x += 100;
	rect_topleft.y += 100;
	rect_bottomright.x -= 100;
	rect_bottomright.y -= 100;

	rcClient.TopLeft() = rect_topleft;
	rcClient.BottomRight() = rect_bottomright;

	GetClientRect(&amp;rcClient);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/203070/clipping-problem</link><generator>RSS for Node</generator><lastBuildDate>Sun, 05 Apr 2026 20:41:17 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/203070.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 18 Jan 2008 13:57:40 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Clipping-Problem... on Fri, 18 Jan 2008 13:57:40 GMT]]></title><description><![CDATA[<p>hallo liebe Coder,</p>
<p>ich habe bei einer OnPaint Handler ein retangle angelegt, indem gezeichnet werden soll. Nun möchte ich aber noch im selben aufruf die hälfte der restlichen zeichnungen in einem bestimmten bereich zeichnen lassen, der definitiv kleiner ist als mein jetziger...</p>
<p>hier ein paar erfolgslose ideen bisher:</p>
<pre><code class="language-cpp">void CGraph::OnPaint()
{
	if ( !m_nXY || !m_xy )
	{
		CWnd::OnPaint();
		return;
	}
	CPaintDC dc(this); 

	CRect rcClient ;

        CRect clipRect(0, 0, 200, 100);

        dc.SetClip(clipRect); // Funktioniert nicht!

	GetClientRect(&amp;rcClient);
</code></pre>
<p>oder auch hier etwas:</p>
<pre><code class="language-cpp">CRect rcClient ;

	CPoint rect_topleft , rect_bottomright ; 

        // Ecken zwischenspeichern
	rect_topleft		= rcClient.TopLeft();
	rect_bottomright	= rcClient.BottomRight();

	// Zeichenbereich verkleinern ( ecken verändern)
	rect_topleft.x += 100;
	rect_topleft.y += 100;
	rect_bottomright.x -= 100;
	rect_bottomright.y -= 100;

	rcClient.TopLeft() = rect_topleft;
	rcClient.BottomRight() = rect_bottomright;

	GetClientRect(&amp;rcClient);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1439043</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1439043</guid><dc:creator><![CDATA[x-coder44]]></dc:creator><pubDate>Fri, 18 Jan 2008 13:57:40 GMT</pubDate></item><item><title><![CDATA[Reply to Clipping-Problem... on Fri, 18 Jan 2008 14:54:12 GMT]]></title><description><![CDATA[<p>Ich verstehe nicht was Du willst. Ein Clip-Rect verkleinert nichts. Es begrenzt nur die Ausgabe. Sprich: Es erzeugt einen Bereich in den Du Zeichnen kanst und der Rest wird geclippt (also ignoriert).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1439096</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1439096</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Fri, 18 Jan 2008 14:54:12 GMT</pubDate></item><item><title><![CDATA[Reply to Clipping-Problem... on Fri, 18 Jan 2008 15:10:23 GMT]]></title><description><![CDATA[<p>genau....</p>
<p>mein retangle soll schon so bleiben wie es ist...</p>
<p>habe jetzt eine funktion gefunden, mit der ich einen bestimmten bereich zeichnen lassen kann....</p>
<pre><code class="language-cpp">// Regionsbestimmung
	region.CreateRectRgn	(	m_border ,
								m_border ,
								(rcClient.Width() - (m_border)) ,
								(rcClient.Height() - (m_border))
							);

	// Region Geltend machen
	dc.SelectClipRgn (&amp;region);
</code></pre>
<p>wenn kann ich das wieder abstellen, ohne die OnPaint-Methode zu verlassen?<br />
vielen dank...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1439103</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1439103</guid><dc:creator><![CDATA[x-coder44]]></dc:creator><pubDate>Fri, 18 Jan 2008 15:10:23 GMT</pubDate></item><item><title><![CDATA[Reply to Clipping-Problem... on Fri, 18 Jan 2008 17:42:15 GMT]]></title><description><![CDATA[<p>EInfach alte Clip-Region hlen, bevor Du die neue setzt und dann die alte wieder setzen. GetClipRgn/SetClipRgn</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1439169</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1439169</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Fri, 18 Jan 2008 17:42:15 GMT</pubDate></item></channel></rss>