Subj : Re: WM_PAINT or TWindow::Paint To : borland.public.cpp.borlandcpp From : MarvinAvery Date : Tue Aug 09 2005 05:09 pm "Thomas Maeder [TeamB]" wrote in message news:m2iryfaucj.fsf@madbox2.local... > > Thus, when calling dc.TextOut() even though I am writing the entire > > line, only the last character actually gets written (or painted). > > Which is typically more efficient than writing the whole line. Yes, I know. > > Is there a way of telling or forcing Windows, for specific lines > > only, to actually paint the *entire* line? > > You should be able to use InvalidateRect() for the rectangles occupied > by these lines. I can't use InvalidateRect() because the method doing the invalidating doesn't know about these special lines. > > BUT: I don't see the point of your question. What's the difference of > painting N-1 characters over their own graphical representation? I am doing horizontal scrolling. My Paint() routine uses the scroll positions to ascertain the characters to be painted. That is, it paints characters, say, n to n+10. However some special lines are not to be scrolled horizontally, thus characters 0 to 10 are always painted. When scrolling, say, 1 character left, the *whole* window gets moved and only the leftmost character gets painted. Thus, the special lines get scrolled; I want to paint the entire line to "unscroll" it. I know I could use Invalidate() but I would rather use UpdateWindow() as it looks much nicer in action. Now, to change the subject a little. Maybe you can help me here. I am *very* confused about the following: What is a device context's clipping region? What is it's update region? How do these relate to the TRect that is passed as a parameter to TWindow::Paint()? TIA Marvin .