Controls: redo the resize handling so it doesn't rely on the RESIZE event