I once implemented flicker-free scrolling by using ScrollWindowEx and only drawing the newly revealed part of the document.