Well for starts why don't you use the standard windows EDIT control and the EM_LINESCROLL message...

The edit control should be a child of your main window sized to cover the entire client area...