Hi Nitro, The SetWindowPlacement API is good for controling the movement of the form the Declaration of the WINDOWPLACEMENT structure is a bit wierd in the API Viewer

instead of
Code:
Public Type WINDOWPLACEMENT
        Length As Long
        flags As Long
        showCmd As Long
        ptMinPosition As POINTAPI
        ptMaxPosition As POINTAPI
        rcNormalPosition As Rect
End Type
try this

Code:
Public Type WINDOWPLACEMENT
        Length As Long             'Don't know what this does
        flags As Long              'I reckon this used a combination of the SWP_ flage that setwindowpos uses but I'm not sure 
        showCmd As Long            'Uses the SW commands, like showwindow
        rcBoundingRect as Rect     'The top left hand corner of the window cannot leave this rectangle when the window is being moved with the mouse
        rcNormalPosition As Rect   'the windows rectangle as with get/set windowrect
End Type
I havn't used it too much, it's useful for showing the window and putting it in the right position in one step rather than seing it pop up and then move, it's also good for restricting the position of a window without subclassing.