MonitorFromWindow with MONITOR_DEFAULTTONEAREST gets a handle to closest monitor
and then use GetMonitorInfo to get the working rect of that particular monitor (rcWork).
then you can use those coordinates for centering/clipping and calculating percentages.

I wouldn't mess with the initial startup screen of a form, but if you're restoring it to another monitor I would at a minimum clip it to the current available monitor on startup. (Like Calc.EXE)