<?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[Flackerndes CEdit]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich möchte sehr viele Daten in einem mehrzeiligen Edit-Feld mitloggen. Da der neuste Wert immer unten sehen soll, führ ich nach dem hinzufügen jedes Wertes einen Linescroll aus. Leider flackert das Feld dabei sehr stark. Ich habe schon versucht die OnEraseBkgnd zu überschreiben. Dadurch wird es zwar besser, aber weg ist das flackern nicht. Wie bekomme ich denn dieses Flackern komplett weg?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/146076/flackerndes-cedit</link><generator>RSS for Node</generator><lastBuildDate>Fri, 17 Jul 2026 08:12:20 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/146076.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 03 May 2006 22:41:12 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Flackerndes CEdit on Wed, 03 May 2006 22:41:12 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich möchte sehr viele Daten in einem mehrzeiligen Edit-Feld mitloggen. Da der neuste Wert immer unten sehen soll, führ ich nach dem hinzufügen jedes Wertes einen Linescroll aus. Leider flackert das Feld dabei sehr stark. Ich habe schon versucht die OnEraseBkgnd zu überschreiben. Dadurch wird es zwar besser, aber weg ist das flackern nicht. Wie bekomme ich denn dieses Flackern komplett weg?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1050588</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1050588</guid><dc:creator><![CDATA[edm]]></dc:creator><pubDate>Wed, 03 May 2006 22:41:12 GMT</pubDate></item><item><title><![CDATA[Reply to Flackerndes CEdit on Thu, 04 May 2006 00:24:21 GMT]]></title><description><![CDATA[<p>hmm, also wenn cih dir nen tipp geben darf für sowat würde ich imma nen ListCtrl nehem oda ne einfach ListBox, Editfeld is da blöde, oda sollen die geloggten sachen bearbeitet werden könne,und selbst das geht noch mit nem ListCtrl zu machen dann haste nen viel bessere Handling, aba um dein problem zurück zu kommen, versuch mal LockWindowUpdate() wenn du anfängst mit deiner funktion, wenn sie fertig ist dann UnlockWindowUpdate() kann sein das es dadurch bessa wird. Muss aba net.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1050597</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1050597</guid><dc:creator><![CDATA[xyz44]]></dc:creator><pubDate>Thu, 04 May 2006 00:24:21 GMT</pubDate></item><item><title><![CDATA[Reply to Flackerndes CEdit on Thu, 04 May 2006 06:27:35 GMT]]></title><description><![CDATA[<p>@edm:<br />
Und wie fügst Du die Zeilen hinzu. Verwende SetSel und ReplaceSel, in diesem Fall gibt es kein geflacker.<br />
Ich vermute Du setzt den gesammten Fenstertext neu mit SetWindowText!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1050633</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1050633</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Thu, 04 May 2006 06:27:35 GMT</pubDate></item><item><title><![CDATA[Reply to Flackerndes CEdit on Thu, 04 May 2006 08:40:38 GMT]]></title><description><![CDATA[<p>das könnte auch helfen: <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/pantdraw_3jxz.asp" rel="nofollow">http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/pantdraw_3jxz.asp</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1050695</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1050695</guid><dc:creator><![CDATA[net 0]]></dc:creator><pubDate>Thu, 04 May 2006 08:40:38 GMT</pubDate></item><item><title><![CDATA[Reply to Flackerndes CEdit on Thu, 04 May 2006 08:50:26 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/3162">@net</a><br />
Das würde den selben Effekt haben wie das bereits erwähnte LockWindowUpdate. Aber das Grundproblem ist, dass man vermeiden sollte das ganze Control neu zu Zeichnen. Und das get nur indem man ReplaceSel verwendet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1050702</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1050702</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Thu, 04 May 2006 08:50:26 GMT</pubDate></item><item><title><![CDATA[Reply to Flackerndes CEdit on Thu, 04 May 2006 09:11:00 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/35992">@martin</a><br />
Das mit ReplaceSel funktioniert besser.</p>
<pre><code class="language-cpp">//m_cEdit: control variable des edit-Feldes
void CFlicker1Dlg::OnButton1() 
{
  CString csTemp;
  int i;
  for (i=0;i&lt;5000;i++)
  {
    csTemp.Format(&quot;Zeile%d\r\n&quot;, i);
    //m_cEdit.SetSel(...);// ??
    m_cEdit.ReplaceSel(csTemp);
  }
}
</code></pre>
<p>So funktioniert es zwar, leider bleibt die Anzeige bei Zeile2827 hängen ...<br />
Woran liegt das? Und auf was muss ich SetSel setzen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1050719</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1050719</guid><dc:creator><![CDATA[edm]]></dc:creator><pubDate>Thu, 04 May 2006 09:11:00 GMT</pubDate></item><item><title><![CDATA[Reply to Flackerndes CEdit on Thu, 04 May 2006 09:25:07 GMT]]></title><description><![CDATA[<p>edm schrieb:</p>
<blockquote>
<p>So funktioniert es zwar, leider bleibt die Anzeige bei Zeile2827 hängen ...<br />
Woran liegt das?</p>
</blockquote>
<p>Vermutlich ist dort die Kapazität deines Editfeldes erschöpft (ich kenne die erlaubte Maximalgröße nicht). Als Lösung müsstest du wohl ältere Einträge rausschmeißen.</p>
<blockquote>
<p>Und auf was muss ich SetSel setzen?</p>
</blockquote>
<p>Die Gesamtgröße des bisher eingetragenen Textes (*kurz nachschaut* die müsstest du mit &quot;LineIndex(GetLineCount()-1)+LineLength(GetLineCount()-1)&quot; selber berechnen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1050727</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1050727</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 04 May 2006 09:25:07 GMT</pubDate></item><item><title><![CDATA[Reply to Flackerndes CEdit on Thu, 04 May 2006 09:38:35 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/10318">@CStoll</a><br />
An der Kapazität kann es irgendwie nicht liegen. Wenn ich die Daten in einen String schreibe und den anzeige funktioniert es....</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1050741</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1050741</guid><dc:creator><![CDATA[edm]]></dc:creator><pubDate>Thu, 04 May 2006 09:38:35 GMT</pubDate></item><item><title><![CDATA[Reply to Flackerndes CEdit on Thu, 04 May 2006 09:55:52 GMT]]></title><description><![CDATA[<p>@edm<br />
Mit GetWindowTextLength die aktuelle Länge besorgen. Und in SetSel verwenden.</p>
<p>Ist das evtl. noch ein Win98 Rechner? Dann wäre die Größe auf 32000 ungrad Zeichen begrenzt. Wenn ich Den Zähler mir ansehe kommt es mir gerade so vor...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1050753</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1050753</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Thu, 04 May 2006 09:55:52 GMT</pubDate></item><item><title><![CDATA[Reply to Flackerndes CEdit on Thu, 04 May 2006 11:40:04 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/35992">@martin</a></p>
<p>Nein, das ist kein Win98 Rechner <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="🙂"
    /> Win2000. Einen längeren CString mit SetWindowText kann ich ja auch anzeigen lassen.</p>
<p>Wobei ZeileXXXX+CR+LF(11 Zeichen) * 2827 = ca. 31000</p>
<p>Wenn das mit dem String anzeigen geht, könnte ich auch einen String mitspeichern und den am Ende einfach reinladen. Nur während die Werte erfasst werden sollte halt immer der letzte Wert unten stehen. Im Prinzip muss man somit auch nur so viel Werte speichern wie das EditFeld Zeilen hat(scrollen während der Datenaufnahme muss unbedingt nicht sein)</p>
<p>Aber so richtig flackerfrei ist das ganze auch noch nicht. Vor allem unterhalb der letzen mit einer Zahl befüllten Zeile flackert immer mal wieder eine Zahl....</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1050823</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1050823</guid><dc:creator><![CDATA[edm]]></dc:creator><pubDate>Thu, 04 May 2006 11:40:04 GMT</pubDate></item><item><title><![CDATA[Reply to Flackerndes CEdit on Thu, 04 May 2006 12:08:07 GMT]]></title><description><![CDATA[<p>vielleicht kannste gegen das flackern was mit 'GdiSetBatchLimit(irgendein_hoher_wert)' was ausrichten</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1050844</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1050844</guid><dc:creator><![CDATA[net 0]]></dc:creator><pubDate>Thu, 04 May 2006 12:08:07 GMT</pubDate></item><item><title><![CDATA[Reply to Flackerndes CEdit on Thu, 04 May 2006 22:00:48 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/3162">@net</a><br />
keine ahnung, was du damit genau meinst ....</p>
<p>Sonst keiner ne Idee? Vielleicht die OnPaint überschreiben oder so und da dann in einen MemDC schreiben !?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1051150</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1051150</guid><dc:creator><![CDATA[edm]]></dc:creator><pubDate>Thu, 04 May 2006 22:00:48 GMT</pubDate></item><item><title><![CDATA[Reply to Flackerndes CEdit on Thu, 04 May 2006 23:26:46 GMT]]></title><description><![CDATA[<p>WM_PAINT abzufangen wird dir nicht nützen, da es von dort aus nicht weiter geht. Du kannst den DC nicht weitergeben.</p>
<p>Ich habe ein wenig gesucht und was anderes gefunden, nämlich die Nachricht WM_PAINTCLIPBOARD. Da könntest du je nach dem nicht nur den CDC durch ein MemDC ersetzen, sondern auch mit einem Rect definieren, was genau neu gezeichnet werden soll. Aber hab des noch nie benutzt, musst du wohl ein wenig selber rumprobieren.<br />
Aber ich könnte mir vorstellen, dass schon nur der MemDC reichen könnte.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1051162</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1051162</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Thu, 04 May 2006 23:26:46 GMT</pubDate></item><item><title><![CDATA[Reply to Flackerndes CEdit on Fri, 05 May 2006 09:08:43 GMT]]></title><description><![CDATA[<p>edm schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/3162">@net</a><br />
keine ahnung, was du damit genau meinst ....</p>
</blockquote>
<p>gdi fasst malaktionen zusammen um grafische ausgabe zu optimieren. eventuell hebt sich da was auf z.b. zweimaliges löschen des hintergrundes...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1051326</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1051326</guid><dc:creator><![CDATA[net 0]]></dc:creator><pubDate>Fri, 05 May 2006 09:08:43 GMT</pubDate></item></channel></rss>