[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Scrolling/keeping textArea down
[Thread Prev] | [Thread Next]
- Subject: Re: Scrolling/keeping textArea down
- From: Admin <admin@xxxxxxxxxx>
- Date: Tue, 23 Sep 2025 22:16:06 +0700
- To: user@xxxxxxxxxxxxxxxxxxxxxx
I tried that before, the result is more or less the same. Can't say that scrollbar stays at top but it sure is far from bottom this way.
23.09.2025 22:07, Bruce Steers пишет:
Maybe use insert (it's faster).. Response.Insert(s) ' cursor should be at end so no need to set Pos Response.EnsureVisible Respects BruceS On Tue, 23 Sept 2025, 15:48 Lee, <t.lee.davidson@xxxxxxxxx> wrote: On 9/23/25 10:31 AM, Admin wrote: > [snip]>>> >>> Response.Pos = MaximResponse.Length >>> Response.EnsureVisible() >>> [snip]>> >> How is the text being added to the TextArea? >> >> > Well, to be precise, there's httpClient receiving JSON request through sBuffer = Read #hClient, Lof(hClient), after that it > JSON.decodes sBuffer into a string variable, and finally the Response.Text &='s with this variable. Then there's Wait 0.1, so > that all the interface is completely redrawn and we forget about everything that was before that. Only then I do Pos = > Response.Lenght, then EnsureVisible and already tried Refresh and Wait 0 after that. Same result: the scrollbar appears > somewhere is the middle of the textArea. > > > So basically I would say, as far as I understand how Wait works, that direct answer to your question is: the text is already there. Well, no, it is not "already there". It is being added with the &= operator from the results of reading the HttpClient stream. But you did not say what triggers that Read. Is it accomplished in the HttpClient_Read event? Above you showed that you were setting Response.Pos with the value of MaximResponse.Length. Just now you said you set .Pos from Response.Length. If what you said first is accurate, perhaps MaximResponse.Length does not contain a value appropriate to use for Response.Pos. Or, it may simply be that the TextArea.Length property does not contain a value appropriate to use for TextArea.Pos. https://gambaswiki.org/wiki/comp/gb.qt4/textarea/pos : "As the text is stored in UTF-8, you must use the String class to convert this position to the byte index in the string." (I do not know of TextArea.Length takes UTF-8 characters into account. Anyone?) Have you tried NOT setting Response.Pos and simply let the TextArea's text addition process handle that itself?-- Lee--- Gambas User List Netiquette [https://gambaswiki.org/wiki/doc/netiquette] ---- --- Gambas User List Archive [https://lists.gambas-basic.org/archive/user] ----
Scrolling/keeping textArea down | Admin <admin@xxxxxxxxxx> |
Re: Scrolling/keeping textArea down | Lee <t.lee.davidson@xxxxxxxxx> |
Re: Scrolling/keeping textArea down | Bruce Steers <bsteers4@xxxxxxxxx> |