?
Solved

Scrolling in a Rich Edit control (again...!)

Posted on 1998-01-09
2
Medium Priority
?
425 Views
Last Modified: 2013-11-20
  (This problem was posted before, but the solution that I decided to used is not working on every system!)

   OK...  First the long description:

   When I add text to a Rich Edit control, most of the time, it will not scroll to the added text, so I have to manually scroll to make it visible.  The problem is, I am able to scroll down so far that no lines are visible (but the API docs tell me that I cannot do this!)

   What I need to do is add text, via StreamIn(), and scroll it so that the added text is visible.

   Here are the problems:

   The size of the Rich Edit control area is variable, at runtime, and the fonts and font-sizes used in the Rich Edit control are variable as well.

   Now, the short description:

   If you scroll (via code) a Rich Edit control so that only one line is visible at the TOP, and then click (not move) the scrollbar, the control will adjust itself so that the last line is the last visible line.  That is what I need: a way to make the last line in the control the last visible line, every time.

   Lastly, a request:  The last time I had this problem, I got some responses that obviously were not tested, or the question was not understood.  I promise not to waste your time, if you do not waste mine! :)

   Thanx!

-=- James.
0
Comment
Question by:jtwine100697
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 2

Accepted Solution

by:
anichini earned 800 total points
ID: 1313677
Put the following code in your rich edit view class and it'll do what you want.

SCROLLINFO info;

info.cbSize = sizeof(SCROLLINFO);

GetScrollInfo(SB_VERT, &info, SIF_RANGE);

SendMessage(WM_VSCROLL, MAKELPARAM(SB_THUMBTRACK, info.nMax), NULL);
SendMessage(WM_VSCROLL, MAKELPARAM(SB_THUMBPOSITION, info.nMax), NULL);
SendMessage(WM_VSCROLL, MAKELPARAM(SB_ENDSCROLL, 0), NULL);

I tested this particular case, but I think it is unrealistic for people to expect experts to test every detail of every answer. The experts have jobs, too, you know - most of the time we can only give guidance to what we know is the correct answer, but it still requires some work on the questioner's part. I think if most people went into EE just expecting some guidance instead of hard and fast answers, there would be a lot less misunderstandings.

0
 
LVL 4

Author Comment

by:jtwine100697
ID: 1313678
  This is EXACTLY what I am looking for...  Much thanx!

   And, BTW: the comment at the end of my question was not meant to offend.  I, too, have a job, and have been programming for quite some time.  I only wrote that comment as it prevents a constant exchange of information, and thus a waste of time.

   Note that I do not ask others to do something unless I would not do it myself: When I *answer* questions, it is because I am pretty sure of my answer; I am not asking others to test my theory.  (See my previous answer on sharing CMap-using-classes across multiple threads.)  When I *comment* on them, that is because I am offering a suggestion, not a fix!

   Thanx again for your time.

-=- James
0

Featured Post

Learn how to optimize MySQL for your business need

With the increasing importance of apps & networks in both business & personal interconnections, perfor. has become one of the key metrics of successful communication. This ebook is a hands-on business-case-driven guide to understanding MySQL query parameter tuning & database perf

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction: Dynamic window placements and drawing on a form, simple usage of windows registry as a storage place for information. Continuing from the first article about sudoku.  There we have designed the application and put a lot of user int…
In this post we will learn different types of Android Layout and some basics of an Android App.
This video will show you how to get GIT to work in Eclipse.   It will walk you through how to install the EGit plugin in eclipse and how to checkout an existing repository.
In this video, Percona Solution Engineer Rick Golba discuss how (and why) you implement high availability in a database environment. To discuss how Percona Consulting can help with your design and architecture needs for your database and infrastr…

752 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question