<?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[Editfeld - nach unten scrollen]]></title><description><![CDATA[<p>Moin.<br />
Ich habe ein Editfeld erstellt, in dem nun automatisch Nachrichten ausgegeben werden sollen. Naja und dabei ist es natürlich sinnvoll, wenn immer die letzte Nachricht angezeigt wird. Aber wenn das Fenster neu gezeichnet wird, ist der Scrollbalken natürlich immer ganz oben. Wie kann ich es anstellen, dass er automatisch unten bleibt / nach unten gesetzt wird?<br />
Die Forensuche habe ich schon benutzt, und <a href="http://www.c-plusplus.net/forum/viewtopic.php?t=71286" rel="nofollow">das hier</a> gefunden. Dort wird <strong>EM_SCROLLCARET</strong> als (unbestätigter!) Lösungsweg vorgeschlagen. Nun, bei mir bringt das garnichts.<br />
mfg Rab-Bit</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/99032/editfeld-nach-unten-scrollen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 04 Apr 2026 21:08:22 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/99032.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 24 Jan 2005 20:12:08 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Editfeld - nach unten scrollen on Mon, 24 Jan 2005 20:12:08 GMT]]></title><description><![CDATA[<p>Moin.<br />
Ich habe ein Editfeld erstellt, in dem nun automatisch Nachrichten ausgegeben werden sollen. Naja und dabei ist es natürlich sinnvoll, wenn immer die letzte Nachricht angezeigt wird. Aber wenn das Fenster neu gezeichnet wird, ist der Scrollbalken natürlich immer ganz oben. Wie kann ich es anstellen, dass er automatisch unten bleibt / nach unten gesetzt wird?<br />
Die Forensuche habe ich schon benutzt, und <a href="http://www.c-plusplus.net/forum/viewtopic.php?t=71286" rel="nofollow">das hier</a> gefunden. Dort wird <strong>EM_SCROLLCARET</strong> als (unbestätigter!) Lösungsweg vorgeschlagen. Nun, bei mir bringt das garnichts.<br />
mfg Rab-Bit</p>
]]></description><link>https://www.c-plusplus.net/forum/post/705035</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/705035</guid><dc:creator><![CDATA[Rab-Bit]]></dc:creator><pubDate>Mon, 24 Jan 2005 20:12:08 GMT</pubDate></item><item><title><![CDATA[Reply to Editfeld - nach unten scrollen on Mon, 24 Jan 2005 20:32:50 GMT]]></title><description><![CDATA[<p>Wie sieht denn dein Code damit aus? Evtl. musst du vorher noch mit EM_SETSEL den Caret (bzw. die Markierung) ans Ende setzen <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/705054</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/705054</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Mon, 24 Jan 2005 20:32:50 GMT</pubDate></item><item><title><![CDATA[Reply to Editfeld - nach unten scrollen on Mon, 24 Jan 2005 20:42:58 GMT]]></title><description><![CDATA[<p>kurz gefragt: wo sitzt immer das neuste Posting in diesem Thread????</p>
<p>richtig, ganz oben.</p>
<p>alten text holen<br />
neuen Text oben drauf setzten<br />
alten mit neuen oben drauf zurückschreiben</p>
<p>finde ich die bessere Lösung, ist aber abhängich vom Verwendungszweck.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/705067</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/705067</guid><dc:creator><![CDATA[MichaM.]]></dc:creator><pubDate>Mon, 24 Jan 2005 20:42:58 GMT</pubDate></item><item><title><![CDATA[Reply to Editfeld - nach unten scrollen on Mon, 24 Jan 2005 21:00:51 GMT]]></title><description><![CDATA[<p>Code? Na, wenn du meinst ... dann pote ich mal das wichtigste</p>
<pre><code class="language-cpp">hwndAusgabe = CreateWindowEx(WS_EX_CLIENTEDGE, &quot;EDIT&quot;, &quot;&quot;,
                     WS_CHILD | WS_VISIBLE |
                     ES_READONLY | 
                     WS_VSCROLL | WS_HSCROLL |
                     WS_BORDER | ES_MULTILINE,
                     10, 10, 490, 250,
                     hwnd, (HMENU) 2,
                     hInstGlobal, NULL);
</code></pre>
<p>Das ist schonmal das Feld für die Ausgabe. Und da kommt halt so die Nachricht rein:</p>
<pre><code class="language-cpp">GetWindowText(hwndAusgabe, OldMsg, sizeof(OldMsg)) 
wsprintf (TheMsg, TEXT (&quot;%s \r\n %s&quot;),  OldMsg, NewMsg);
SetWindowText(hwndAusgabe, TheMsg);
</code></pre>
<p>So, hier hole ich eben den alten Text, schreibe den neuen unten dran und beides wieder in Textfeld. Wie meinst du das jetzt mit Markierung ans Ende setzen?<br />
<a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/21494">@Micha</a><br />
Ja, so hatte ich das auch schon. Aber das gefällt mir garnicht. Neue Nachrichten müssen IMHO unten dran! Mit einer anderen Lösung könnte ich mich nur schwer anfreunden.<br />
mfg Rab-Bit</p>
]]></description><link>https://www.c-plusplus.net/forum/post/705084</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/705084</guid><dc:creator><![CDATA[Rab-Bit]]></dc:creator><pubDate>Mon, 24 Jan 2005 21:00:51 GMT</pubDate></item><item><title><![CDATA[Reply to Editfeld - nach unten scrollen on Mon, 24 Jan 2005 21:11:49 GMT]]></title><description><![CDATA[<p>Gut wenn oben drauf nicht das wahre ist für dich.</p>
<p>spontan fällt mir z.b. EM_SCROLL ein, im wParam SB_LINEDOWN, EM_LINESCROLL giebt es auch noch zum Scrollen um 'n' Zeichen horizontal und vertikal.</p>
<p>Habe das aber jetzt nur dürftig im Kopf, MSDN sagt sicher mehr dazu.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/705095</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/705095</guid><dc:creator><![CDATA[MichaM.]]></dc:creator><pubDate>Mon, 24 Jan 2005 21:11:49 GMT</pubDate></item><item><title><![CDATA[Reply to Editfeld - nach unten scrollen on Mon, 24 Jan 2005 21:34:47 GMT]]></title><description><![CDATA[<p>Also mit <strong>SendMessage(hwndAusgabe, EM_SCROLL, SB_PAGEDOWN, 0)</strong> klappt es erstmal schon, aber eben nur erstmal. Nach etlichen Nachrichten ist der Scrollbalken nicht mehr unten, sondern bewegt sich eher auf die Mitte zu. Man sieht die neuen Nachrichten also nicht mehr.<br />
Dafür habe ich flenders' Methode nochmal ausprobiert. Und mit <strong>SendMessage(hwndAusgabe, EM_SETSEL, 0, -1)</strong> und <strong>SendMessage(hwndAusgabe, EM_SCROLLCARET, 0, 0)</strong> funktioniert's jetzt. Also wenn ich die beiden Funktionen nach der Ausgabe der neuen Nachricht aufrufe, sehe ich immer die unterste Nachricht, so wie ich's wollte. Also vielen Dank an euch beide.<br />
mfg Rab-Bit</p>
]]></description><link>https://www.c-plusplus.net/forum/post/705118</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/705118</guid><dc:creator><![CDATA[Rab-Bit]]></dc:creator><pubDate>Mon, 24 Jan 2005 21:34:47 GMT</pubDate></item><item><title><![CDATA[Reply to Editfeld - nach unten scrollen on Mon, 24 Jan 2005 21:54:57 GMT]]></title><description><![CDATA[<p>Nur als Anmerkung:<br />
wenn du auch so ein Chat ding programmierst, oder das Edit sehr viel aufnehmen muß, solltest du lieber ein RichEdit nehmen und dessen Kapazität erhöhen.</p>
<p>Kapazität erhöhen,</p>
<pre><code class="language-cpp">SendMessage(RichEdit_HWND, EM_EXLIMITTEXT, 0, (LPARAM)(DWORD)25165824);
</code></pre>
<p>auf 24 MB, als Beispiel.</p>
<p>Des weiteren kannst du auch mit EM_GETLINECOUNT die Anzahl Zeilen ermitteln und mittels:</p>
<pre><code class="language-cpp">SendMessage(Edit_HWND, EM_LINESCROLL, 0, Anzahl_Lines-1);
</code></pre>
<p>stets unten sein, wie gewollt, vorteil: du hast in einem Rutsch die aktuelle Anzahl an zeilen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/705133</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/705133</guid><dc:creator><![CDATA[MichaM.]]></dc:creator><pubDate>Mon, 24 Jan 2005 21:54:57 GMT</pubDate></item></channel></rss>