<?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[Edit Control: Automatisch mitscrollen bei SetWindowText(...)]]></title><description><![CDATA[<p>Hallo Leute,<br />
ich habe folgendendes Problem: In meinem Programm verwende ich eine<br />
Editbox mit den Eigenschaften WS_CHILD | ES_AUTOHSCROLL | WS_BORDER | WS_VISIBLE<br />
- es handelt sich also um ein einfaches Textfeld, in welchem ich beliebig viele<br />
Zeichen darstellen kann.<br />
Benutzereingaben können direkt in das Textfeld aufgenommen werden; aber auch mein Programm ändert mittels SetWindowText den Inhalt der Box.<br />
Das Problem ist: Ich weiß nicht, wie ich die Box mitscrollen lassen kann, wenn das Programm mit SetWindowText(...) einen String in der Box ausgibt, der die Länge der Box wesentlich überschreitet.<br />
Dargestellt werden in dem Falle nur die ersten Zeichen des Strings - es sollen aber die letzten angezeigt werden.<br />
Scrollbalken sollen wenn möglich nicht verwendet werden.</p>
<p>Wie ist ein &quot;mitscrollen&quot; in der Textbox möglich?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/227672/edit-control-automatisch-mitscrollen-bei-setwindowtext</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Apr 2026 02:51:47 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/227672.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 18 Nov 2008 15:56:51 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Edit Control: Automatisch mitscrollen bei SetWindowText(...) on Tue, 18 Nov 2008 15:56:51 GMT]]></title><description><![CDATA[<p>Hallo Leute,<br />
ich habe folgendendes Problem: In meinem Programm verwende ich eine<br />
Editbox mit den Eigenschaften WS_CHILD | ES_AUTOHSCROLL | WS_BORDER | WS_VISIBLE<br />
- es handelt sich also um ein einfaches Textfeld, in welchem ich beliebig viele<br />
Zeichen darstellen kann.<br />
Benutzereingaben können direkt in das Textfeld aufgenommen werden; aber auch mein Programm ändert mittels SetWindowText den Inhalt der Box.<br />
Das Problem ist: Ich weiß nicht, wie ich die Box mitscrollen lassen kann, wenn das Programm mit SetWindowText(...) einen String in der Box ausgibt, der die Länge der Box wesentlich überschreitet.<br />
Dargestellt werden in dem Falle nur die ersten Zeichen des Strings - es sollen aber die letzten angezeigt werden.<br />
Scrollbalken sollen wenn möglich nicht verwendet werden.</p>
<p>Wie ist ein &quot;mitscrollen&quot; in der Textbox möglich?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1616579</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1616579</guid><dc:creator><![CDATA[crazychicken]]></dc:creator><pubDate>Tue, 18 Nov 2008 15:56:51 GMT</pubDate></item><item><title><![CDATA[Reply to Edit Control: Automatisch mitscrollen bei SetWindowText(...) on Tue, 18 Nov 2008 16:10:37 GMT]]></title><description><![CDATA[<p>Der Trick ist ganz einfach: Der Cursor muss ans Ende gesetzt werden.<br />
Erst schicks du eine EM_SETSEL Message an die Editbox, als lParam und wParam benutzt du bei beiden die Anzahl der Buchstaben (GetWindowTextLength), damit nichts markiert wird aber der Cursor ganz am Ende ist.</p>
<pre><code class="language-cpp">HWND hEditText; // &lt;-- Deine EditBox
...
int iLength= GetWindowLength(hEditText);
SendMessage(hEditText, EM_SETSEL, static_cast&lt;WPARAM&gt;(iLength), static_cast&lt;WPARAM&gt;(iLength));
</code></pre>
<p>Das machst du jedesmal, wenn dein Programm die Message EN_CHANGE erhalten hat,<br />
bzw. (ich weis jetzt nicht ob das unbedingt nötig ist) sendest diese Nachricht, nachdem dein Programme etwas an dem EditText geändert hat.</p>
<p>So sollte es funktionieren!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1616588</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1616588</guid><dc:creator><![CDATA[Blaze]]></dc:creator><pubDate>Tue, 18 Nov 2008 16:10:37 GMT</pubDate></item><item><title><![CDATA[Reply to Edit Control: Automatisch mitscrollen bei SetWindowText(...) on Tue, 18 Nov 2008 16:13:50 GMT]]></title><description><![CDATA[<p>Das geht vielleicht mit einem SendMessage an die Editbox, das aus dem Programm das Scrollen nach unten macht. Dafür habe ich aber keine eigene Erfahrung. Irgendwie geht aber alles mit WinApi.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1616590</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1616590</guid><dc:creator><![CDATA[berniebutt]]></dc:creator><pubDate>Tue, 18 Nov 2008 16:13:50 GMT</pubDate></item><item><title><![CDATA[Reply to Edit Control: Automatisch mitscrollen bei SetWindowText(...) on Tue, 18 Nov 2008 17:25:15 GMT]]></title><description><![CDATA[<p>crazychicken schrieb:</p>
<blockquote>
<p>Hallo Leute,<br />
ich habe folgendendes Problem: In meinem Programm verwende ich eine<br />
Editbox mit den Eigenschaften WS_CHILD | ES_AUTOHSCROLL | WS_BORDER | WS_VISIBLE<br />
- es handelt sich also um ein einfaches Textfeld, in welchem ich beliebig viele<br />
Zeichen darstellen kann.<br />
Benutzereingaben können direkt in das Textfeld aufgenommen werden; aber auch mein Programm ändert mittels SetWindowText den Inhalt der Box.<br />
Das Problem ist: Ich weiß nicht, wie ich die Box mitscrollen lassen kann, wenn das Programm mit SetWindowText(...) einen String in der Box ausgibt, der die Länge der Box wesentlich überschreitet.<br />
Dargestellt werden in dem Falle nur die ersten Zeichen des Strings - es sollen aber die letzten angezeigt werden.<br />
Scrollbalken sollen wenn möglich nicht verwendet werden.</p>
<p>Wie ist ein &quot;mitscrollen&quot; in der Textbox möglich?</p>
</blockquote>
<p>Hallo,<br />
das geht ganz einfach mit SendMessage.</p>
<p>SendMessage(TextBox.hwnd, EM_SETSEL, 0, (LPARAM)-1);</p>
<p>und nix da mit static oder gar reinterpret casten <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1616665</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1616665</guid><dc:creator><![CDATA[CStern]]></dc:creator><pubDate>Tue, 18 Nov 2008 17:25:15 GMT</pubDate></item><item><title><![CDATA[Reply to Edit Control: Automatisch mitscrollen bei SetWindowText(...) on Tue, 18 Nov 2008 20:20:57 GMT]]></title><description><![CDATA[<p>CStern schrieb:</p>
<blockquote>
<p>das geht ganz einfach mit SendMessage.</p>
<p>SendMessage(TextBox.hwnd, EM_SETSEL, 0, (LPARAM)-1);</p>
<p>und nix da mit static oder gar reinterpret casten <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
</blockquote>
<p>static_cast ist Deinem Hammer-C Cast in jedem Falle vorzuziehen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1616788</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1616788</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Tue, 18 Nov 2008 20:20:57 GMT</pubDate></item><item><title><![CDATA[Reply to Edit Control: Automatisch mitscrollen bei SetWindowText(...) on Wed, 19 Nov 2008 05:41:34 GMT]]></title><description><![CDATA[<p>Martin Richter schrieb:</p>
<blockquote>
<p>static_cast ist Deinem Hammer-C Cast in jedem Falle vorzuziehen!</p>
</blockquote>
<p>Und warum?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1616902</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1616902</guid><dc:creator><![CDATA[??? ???]]></dc:creator><pubDate>Wed, 19 Nov 2008 05:41:34 GMT</pubDate></item><item><title><![CDATA[Reply to Edit Control: Automatisch mitscrollen bei SetWindowText(...) on Wed, 19 Nov 2008 06:54:51 GMT]]></title><description><![CDATA[<p>In dem Fall machen static_cast und C-Cast sowieso dasselbe. Und solange man weiß, was man tut, geht mit C-Casts ja auch nix schief. Ich persönlich finde es so einfach schöner zu lesen, die C++-Casts bauschen den Code doch sehr stark auf. Auch den typischen reinterpret_cast (z.B. 4 Byte Pointer nach long) mache ich lieber im C-Style, mal davo abgesehen, dass das in unserem Code sowieso sehr verbreitet und damit quasi Firmen-Standard ist <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>
<p>So Leute, macht mich fertig! <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1616915</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1616915</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Wed, 19 Nov 2008 06:54:51 GMT</pubDate></item><item><title><![CDATA[Reply to Edit Control: Automatisch mitscrollen bei SetWindowText(...) on Wed, 19 Nov 2008 07:06:49 GMT]]></title><description><![CDATA[<p>_matze schrieb:</p>
<blockquote>
<p>In dem Fall machen static_cast und C-Cast sowieso dasselbe. Und solange man weiß, was man tut, geht mit C-Casts ja auch nix schief.</p>
</blockquote>
<p>Klar machen Sie hier das selbe. Da sage ich auch nichts dagegen. Deshalb ist funktionierender Code dennoch nicht imer gut geschrieben.</p>
<p>Und erzähl mir nicht, das ein static_cast nicht im Zweifel sicherer wäre!</p>
<p>_matze schrieb:</p>
<blockquote>
<p>Ich persönlich finde es so einfach schöner zu lesen, die C++-Casts bauschen den Code doch sehr stark auf.</p>
</blockquote>
<p>Das ist reine Gewöhnungssache.<br />
Als ich den errszen template Code mit der stl und iteratoren gesehen habe, war mein erster Gedanke: Das sieht ja grauenhaft aus, wer will das denn schreiben?<br />
Heute hat man sich dran gewöhnt.</p>
<p>_matze schrieb:</p>
<blockquote>
<p>Auch den typischen reinterpret_cast (z.B. 4 Byte Pointer nach long) mache ich lieber im C-Style, mal davo abgesehen, dass das in unserem Code sowieso sehr verbreitet und damit quasi Firmen-Standard ist <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>
</blockquote>
<p>Ach <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> Und weil es alle machen ist es gut? Nette Rechtfertigung.<br />
Echt argumentativ tiefgreifend <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
<p>Wie gut, dass ich in meiner Firma mitverantwortlich bin für das was &quot;Standard&quot; ist. <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>_matze schrieb:</p>
<blockquote>
<p>So Leute, macht mich fertig! <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>
</blockquote>
<p>Brauch ich doch gar nicht! Ich habe nämlich meine eigene Meinung und solange Du nicht in meiner Firma arbeitest haben wir kein Problem.<br />
Solltest Du jedoch mal Code für meine Firma schreiben oder unter mir arbeiten müssen, dann weiß ich wie Dein Code aussehen wird... Du kannst raten.... <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>Du kannst ja mal eine Diskussion über C casts und C++ cast im C++ Forum anstossen. Mal sehen was die Puristen dazu sagen. Vielleicht wird Dir da ja Dein Wunsch nach &quot;fertig machen&quot; erfüllt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1616920</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1616920</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Wed, 19 Nov 2008 07:06:49 GMT</pubDate></item><item><title><![CDATA[Reply to Edit Control: Automatisch mitscrollen bei SetWindowText(...) on Wed, 19 Nov 2008 19:42:48 GMT]]></title><description><![CDATA[<p>Also ich hab mich jetzt für</p>
<pre><code class="language-cpp">SendMessage(hEditAusgabe, EM_SETSEL, 0, (LPARAM)-1);
</code></pre>
<p>entschieden, auch wenn ich mir damit nen paar Feinde mach <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="😃"
    /><br />
Hab bis jetzt meine Typumwandlungen immer so vorgenommen - aber einfach aus dem Grund, dass ich mich bis jetzt noch nicht näher mit Cast-Operatoren in C++ auseinandergesetzt habe.<br />
Vorläufig jedenfalls werde ich noch C-Casts verwenden, nehme mir aber vor, den Code noch einmal zu überarbeiten. Ich benutze ziemlich häufig Typumwandlungen in meinem Programm; da werde mich mal weiter mit den Cast-Operatoren in C++ auseinandersetzen und dann entsprechende Anpassungen vornehmen.<br />
C++ stellt nunmal diese Operatoren zur Verfügung - warum sollte man sie nicht nutzen. Vor allem bei größeren Projekten sehe ich da Vorteile, was die Sicherheit betrifft und ich denke auch, dass so mancher Fehler in der Semantik eher gefunden werden kann.<br />
Korrigiert mich, wenn ich da falsch liege.</p>
<p>Vielen Dank <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/1617348</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1617348</guid><dc:creator><![CDATA[crazychicken]]></dc:creator><pubDate>Wed, 19 Nov 2008 19:42:48 GMT</pubDate></item></channel></rss>