You may want to look at something called BitBlt.Whatever you're tracking for movement will keep the stored movement. I believe with BitBlt it uses a RECT structure.
I would wrap the BitBlt function up, so you don't have to call it explicitly every time. You would then bitblt the image based on this.
I would separate the space into two parts, if the position is 0, then part 1 would be the whole image and part 2 would be nothing. As you move the position, part 1 and part 2 grow and shrink depending. You would then bitblt parts of the image into each of these parts.
It's rather difficult to explain, since it's purely visual.
imagine this is the screen:
[******|***]
^ ^
1 2
As you move the |, the pieces grow and shrink.
You then make sure you draw the pieces of the image accordingly.
-------
I've got spurs that jingle jangle jingle.
As I go riding merrily along.
And they sing, "Oh, ain't you glad you're single?"
And that song ain't so very far from wrong.