Once text has been written to the screen, it's all just graphics. Scrolling is actually extremely easy:
! scroll up previous contents iret = GetClientRect (hwnd, crect) iret = ScrollWindow (hwnd, 0, -cychar, crect, crect)
where hwnd is your window's handle and cychar is the height of the text line (in pixels). For what you'r looking for, you would adjust the client rectangle crect to exclude the bottom line of text in the window. So you would move everything up one line before writing output to line (n-1).





Scrolling text from specific point in console
Does anyone remember the old terminal applications where the bottom line line would be where the input from the keyboard would go and the area above it would scroll independantly with incoming data?
Is there some trick that would make the standard windows console behave that way, or would it be necessary to essentually make the capability by getting the contents of each line of the screen and then rolling it up a row?