<?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[Richedit + Scrollen]]></title><description><![CDATA[<p>Hallo an alle.<br />
Kurz: ich möchte ein Richedit schön scrollen.<br />
Also ich habe ein langes horizontales Richedit, darin ist ein langer Text, so dass dieser scrollbar ist. So. Das ding soll jetzt von Scrollposition 0 (Anfang) sauber, und ich meine sauber (nicht einzelne Zeichen, da das so ruckelt) scrollen... Bis das Ende des Strings zu sehen ist.<br />
Wie stelle ich das an? Welche nachrichten?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/70550/richedit-scrollen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 09 Apr 2026 10:03:37 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/70550.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 08 Apr 2004 16:50:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Richedit + Scrollen on Thu, 08 Apr 2004 16:50:37 GMT]]></title><description><![CDATA[<p>Hallo an alle.<br />
Kurz: ich möchte ein Richedit schön scrollen.<br />
Also ich habe ein langes horizontales Richedit, darin ist ein langer Text, so dass dieser scrollbar ist. So. Das ding soll jetzt von Scrollposition 0 (Anfang) sauber, und ich meine sauber (nicht einzelne Zeichen, da das so ruckelt) scrollen... Bis das Ende des Strings zu sehen ist.<br />
Wie stelle ich das an? Welche nachrichten?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/497800</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/497800</guid><dc:creator><![CDATA[ChrisK]]></dc:creator><pubDate>Thu, 08 Apr 2004 16:50:37 GMT</pubDate></item><item><title><![CDATA[Reply to Richedit + Scrollen on Thu, 08 Apr 2004 17:31:28 GMT]]></title><description><![CDATA[<p>Du könntest mit einem Timer folgende Nachricht an das RichEdit Fenster schicken:</p>
<pre><code class="language-cpp">SendMessage(hwndRichEdit, WM_VSCROLL, MAKEWORD(SB_LINEDOWN, 0), 0);
</code></pre>
<p>Du möchtest nicht, dass im Zeilenhöhen-Maß gescrollt wird, aber ich schätze das wird nicht zu verhindern sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/497829</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/497829</guid><dc:creator><![CDATA[Aziz]]></dc:creator><pubDate>Thu, 08 Apr 2004 17:31:28 GMT</pubDate></item><item><title><![CDATA[Reply to Richedit + Scrollen on Thu, 08 Apr 2004 18:29:28 GMT]]></title><description><![CDATA[<p>Naja, man müsste das Window (also das Editcontrol) doch so sauber Scrollen können. Das muss nicht unbedingt ne Richedit Message sein... Ich hab das oft schon gesehen, dass so geile Cretis in einem Programm gescrollt werden. Diese waren zwar vertikal, aber sie waren auch &quot;sauber&quot; beim Scrollen, irgendwie scrollen die pixelweise.</p>
<p>Es gibt ja:</p>
<p>EM_SETSCROLLPOS</p>
<p>Aber ich verstehe das nicht:</p>
<p>wParam<br />
This parameter is not used; it must be zero.<br />
lParam<br />
Pointer to a POINT structure which specifies a point in the virtual text space of the document, expressed in pixels. The document will be scrolled until this point is located in the upper-left corner of the edit control window. If you want to change the view such that the upper left corner of the view is two lines down and one character in from the left edge. You would pass a point of (7, 22).<br />
Microsoft<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/00ae.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--registered"
      title=":registered:"
      alt="®"
    /> Rich Edit checks the X and Y coordinates and adjusts them if necessary, so that a complete line is displayed at the top. It also ensures that the text is never completely scrolled off the view rectangle.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/497867</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/497867</guid><dc:creator><![CDATA[ChrisK]]></dc:creator><pubDate>Thu, 08 Apr 2004 18:29:28 GMT</pubDate></item><item><title><![CDATA[Reply to Richedit + Scrollen on Thu, 08 Apr 2004 20:10:35 GMT]]></title><description><![CDATA[<p>Kannst du versuchen mit einem Spy-Tool herauszufinden was für Controls für den Abspann von Credits benutzt werden? Ich bezweifle nämlich, dass das mit Edit-Controls zustande gebracht wurde.</p>
<p>Ich hab mir Gedanken darüber gemacht wie man das Problem vielleicht ohne Control-Messages lösen könnte:</p>
<p>Du legst zwei Backbuffer-DC's an und kopierst die ersten zwei Seiten des RichEdit-Controls dort hinein. Sonderfälle müssen natürlich behandelt werden: es gibt nur eine Seite; es gibt eine nicht-volle Seite (wobei es praktisch immer eine nicht-komplett befüllte Seite geben wird). Wenn du das hinkriegst, ohne dass das RichEdit-Control sichtbar ist (denn wir wollen ja mit den Backbuffern eine Scrollanimation machen), dann kannst du mit ScrollWindowEx den ersten Backbuffer (wo am Anfang die erste Seite drinnen ist) scrollen, und mit BitBlt kannst du aus dem zweiten Backbuffer (wo die zweite Seite drinnen ist) die neuen Pixelzeilen in den ersten Backbuffer kopieren. Mit einem Timer blittest du dann den ersten Backbuffer in den Clientbereich eines Fensters.</p>
<p>Hört sich wie ne wilde Idee an, nicht wahr? <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>
<p>In Bezug zu EM_SETSCROLLPOS:</p>
<p>Diese Nachricht gibt es anscheinend nur für das RichEdit-Control. Mit dem POINT structure kann man einen virtuellen Punkt auf der virtuellen Textfläche definieren, an den das Control versucht zu scrollen, wobei der Punkt dann so adjustiert wird (unfreiwillig), dass immer nur eine vollständige Zeile oben zu sehen ist. Die virtuelle Textfläche kannst du dir als riesige Schriftrolle vorstellen; deine Augen können sich immer nur auf einen begrenzten Teil davon richten; genauso kann auch ein Fenster nur einen begrenzten Teil des gesamten Textes darstellen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/497909</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/497909</guid><dc:creator><![CDATA[Aziz]]></dc:creator><pubDate>Thu, 08 Apr 2004 20:10:35 GMT</pubDate></item><item><title><![CDATA[Reply to Richedit + Scrollen on Thu, 08 Apr 2004 20:16:00 GMT]]></title><description><![CDATA[<p>Nachtrag zur Idee: Statt ScrollWindowEx sollte man lieber ScrollDC verwenden; es handelt sich schließlich um einen Gerätekontext <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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/497913</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/497913</guid><dc:creator><![CDATA[Aziz]]></dc:creator><pubDate>Thu, 08 Apr 2004 20:16:00 GMT</pubDate></item></channel></rss>