<?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[Invalidate( .. )]]></title><description><![CDATA[<p>Der Gebrauch der Funktion Invalidate, die OnDraw(.. anstösst, gibt bei mir<br />
manchmal fehlerhafte Resultate, das heißt mein Schachbrett wird für eine<br />
Weile falsch gezeichnet.</p>
<p>... OnDraw( ... CDC* dDC ..<br />
{<br />
... dDC-&gt;Zeichnenfunktion( ...<br />
}</p>
<p>allerdings geht folgendes:</p>
<p>... MeinInvalidate()<br />
{<br />
CClientDC dc(this);<br />
dc.Zeichnenfunktion( ...<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/203708/invalidate</link><generator>RSS for Node</generator><lastBuildDate>Sun, 05 Apr 2026 15:41:43 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/203708.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 25 Jan 2008 14:44:17 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Invalidate( .. ) on Fri, 25 Jan 2008 14:44:17 GMT]]></title><description><![CDATA[<p>Der Gebrauch der Funktion Invalidate, die OnDraw(.. anstösst, gibt bei mir<br />
manchmal fehlerhafte Resultate, das heißt mein Schachbrett wird für eine<br />
Weile falsch gezeichnet.</p>
<p>... OnDraw( ... CDC* dDC ..<br />
{<br />
... dDC-&gt;Zeichnenfunktion( ...<br />
}</p>
<p>allerdings geht folgendes:</p>
<p>... MeinInvalidate()<br />
{<br />
CClientDC dc(this);<br />
dc.Zeichnenfunktion( ...<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1443504</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1443504</guid><dc:creator><![CDATA[GeorgC++]]></dc:creator><pubDate>Fri, 25 Jan 2008 14:44:17 GMT</pubDate></item><item><title><![CDATA[Reply to Invalidate( .. ) on Fri, 25 Jan 2008 18:40:19 GMT]]></title><description><![CDATA[<p>Das da oben war nicht so gemeint. Es sollte lauten:<br />
...OnDraw(CDC* pDC) ..<br />
{<br />
ZeichneFunktion(... pDC ...);<br />
...<br />
}</p>
<p>und: .. MeinInvalidate()<br />
{<br />
CClientDC dc(this);<br />
ZeichneFunktion ( ...&amp;dc ...);<br />
...<br />
}</p>
<p>An manchen Stellen, genügt Invalidate(false), an anderen<br />
muss ich MeinInvalidate() verwenden. ZeichneFunktion zeichnet<br />
ein Schachbrett, und Invalidate(false) ergibt manchmal ein<br />
wirres Brett. Genauen Code kann ich hier nicht vorstellen, das<br />
wäre zu umfangreich. Vielleicht kennt jemand einen ähnlichen Fall.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1443615</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1443615</guid><dc:creator><![CDATA[GeorgC++]]></dc:creator><pubDate>Fri, 25 Jan 2008 18:40:19 GMT</pubDate></item><item><title><![CDATA[Reply to Invalidate( .. ) on Sun, 27 Jan 2008 18:14:16 GMT]]></title><description><![CDATA[<p>Du solltest nur in OnPaint zeichnen. Was willst Du mit MeinInvalidate erreichen?<br />
In Windows wird ein Fenster nur darüber benachrichtigt, dass ein bestimmter Bereich des Fensters ungültig wird (Invalidate), dann veranlasst Windows eine WM_PAINT Nachricht, die in der MFC auf OnDraw umgesetzt wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1444653</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1444653</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Sun, 27 Jan 2008 18:14:16 GMT</pubDate></item><item><title><![CDATA[Reply to Invalidate( .. ) on Mon, 28 Jan 2008 10:29:21 GMT]]></title><description><![CDATA[<p>Das Problem, dass ich Invalidate( ... durch MeinInvalidate( ... ersetzen<br />
musste, trat erst bei meiner neuen Dual Core - Maschine auf. Könnte es sein,<br />
dass die MFC 6.0 Version bei Dual Core Prozessoren noch Probleme hat. Das<br />
dürfte eigentlich nicht sein, Die Dual Core Prozessoren haben schon zig, zig,<br />
Milliarden von Maschinenbefehlen fehlerfrei ausgeführet. Probleme kann es da<br />
nicht geben. Dann habe ich auch davon gehört, dass die MFC unter Visual<br />
Studio .NET weiterentwickelt werden. Also könnte dieser ( vermeintliche )<br />
Fehler behoben werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1444912</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1444912</guid><dc:creator><![CDATA[GeorgC++]]></dc:creator><pubDate>Mon, 28 Jan 2008 10:29:21 GMT</pubDate></item><item><title><![CDATA[Reply to Invalidate( .. ) on Mon, 28 Jan 2008 10:33:55 GMT]]></title><description><![CDATA[<p>Es wäre besser Du würdest uns mal erklären wieso es <em><strong>angeblich</strong></em> Probleme mit Dualcore Prozessoren und VC6 gibt.<br />
Solche Probleme gibt es nicht!</p>
<p>Es gibt höchstens Programme die schlecht geschrieben sind und nicht mit multithreading umgehen können. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
<p>Also was ist der wahre Grund für MeinInvalidate?<br />
Zeig uns Code und wir können Dir evtl. sagen, was Du für Fehler machst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1444916</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1444916</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Mon, 28 Jan 2008 10:33:55 GMT</pubDate></item><item><title><![CDATA[Reply to Invalidate( .. ) on Tue, 29 Jan 2008 10:15:16 GMT]]></title><description><![CDATA[<p>Statt mit OnDraw kann ich auch in OnPaint zeichnen. Nur wie stosse ich<br />
OnPaint an, um neu zu zeichnen. Weder mit &quot;OnPaint()&quot; noch mit &quot;UpdateWindow()&quot;, noch mit &quot;PostMessage(WM_PAINT, 0, 0)&quot; gelingt es. Als ich den OnPaint-Handler anlegte stand als Kommentar: &quot;Kein Aufruf von CView::OnPaint() für<br />
Zeichnungsnachrichten&quot;. Also muss ich doch mit:</p>
<p>...MeinNeuZeichnen() ..<br />
{<br />
CClientDC dc(this);<br />
ZeichenFunktion( ... &amp;dc ... );<br />
...<br />
}</p>
<p>arbeiten. Nichts für ungut.<br />
Der oben genannte Fehler erscheint auch ohne MultiThreading.<br />
An einer Stelle kann ich mit Invalidate ... das Neuzeichnen,<br />
veranlassen an anderer Stelle nicht. Seltsam.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1445524</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1445524</guid><dc:creator><![CDATA[GeorgC++]]></dc:creator><pubDate>Tue, 29 Jan 2008 10:15:16 GMT</pubDate></item><item><title><![CDATA[Reply to Invalidate( .. ) on Tue, 29 Jan 2008 11:09:10 GMT]]></title><description><![CDATA[<p>GeorgC++ schrieb:</p>
<blockquote>
<p>Statt mit OnDraw kann ich auch in OnPaint zeichnen. Nur wie stosse ich<br />
OnPaint an, um neu zu zeichnen. Weder mit &quot;OnPaint()&quot; noch mit &quot;UpdateWindow()&quot;, noch mit &quot;PostMessage(WM_PAINT, 0, 0)&quot; gelingt es. Als ich den OnPaint-Handler anlegte stand als Kommentar: &quot;Kein Aufruf von CView::OnPaint() für<br />
Zeichnungsnachrichten&quot;.</p>
</blockquote>
<p>Eine Aktualisierung wird mit CWnd::InvalidateRect(LPCRECT lpRect, BOOL bErase = TRUE) erreicht. Mit lpRect kann man den zu aktualisierenden Bereich einschränken. Wenn für lpRect NULL angegeben wird, dann wird das ganze Fenster aktualisiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1445542</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1445542</guid><dc:creator><![CDATA[sri]]></dc:creator><pubDate>Tue, 29 Jan 2008 11:09:10 GMT</pubDate></item><item><title><![CDATA[Reply to Invalidate( .. ) on Tue, 29 Jan 2008 11:56:32 GMT]]></title><description><![CDATA[<p>... und sofortiges Neuzeichnen erreicht man mit einem UpdateWindow nach dem Invalidate oder der Nutzung von RedrawWindow mit den entsprechenden Flags.</p>
<p>@GeorgC++: Das sind tiefste Basics der Windows API und MFC Programmierung... Lies noch mal ein Buch zu dem Thema!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1445573</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1445573</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Tue, 29 Jan 2008 11:56:32 GMT</pubDate></item><item><title><![CDATA[Reply to Invalidate( .. ) on Wed, 30 Jan 2008 09:46:28 GMT]]></title><description><![CDATA[<p>Vielen, Vielen Dank. Das hat geklappt. Nach Invalidate muss UpdateWindow<br />
kommen. Auf was für verückte Ideen man doch kommen kann.<br />
Obwohl ich über 10 dicke Bücher über MFC besitze, habe ich keine Lösung gefunden. Interressant wären Bücher mit solchen Tipps und Tricks.<br />
Könnt Ihr mir Buchempfehlungen machen ?<br />
Hoffentlich habe ich Euch nicht zu sehr genervt. Vielen Dank noch mal.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1446150</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1446150</guid><dc:creator><![CDATA[GeorgC++]]></dc:creator><pubDate>Wed, 30 Jan 2008 09:46:28 GMT</pubDate></item><item><title><![CDATA[Reply to Invalidate( .. ) on Wed, 30 Jan 2008 10:17:31 GMT]]></title><description><![CDATA[<p>GeorgC++ schrieb:</p>
<blockquote>
<p>Interressant wären Bücher mit solchen Tipps und Tricks.<br />
Könnt Ihr mir Buchempfehlungen machen ?</p>
</blockquote>
<p>Das sind keine Tricks. Das sind die Basics, die man lernt wenn man ein Anfänger-Buch das Windows-Programmierung behandelt, von vorne anfängt zu lesen, und es nicht nur als Nachschalgewerk missbraucht. <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="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1446171</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1446171</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Wed, 30 Jan 2008 10:17:31 GMT</pubDate></item></channel></rss>