The JvRunTimeDesign package of JVCL does show size boxes around any controls (installable via OPM, see JvDesigner example). Maybe overkill for your purpose.
Some thoughts how I would do it for a general solution (untested):
- Define a class TSizeBox for a single size box. Has property "Position = (pEast, pSouthEast, pSouth, pSouthWest, pWest, ...)" and "Control". Is drawn at the corresponding position of the Control. Has mouse event handlers for dragging the size boxes in the direction corresponding to the Position parameter. The new position of the size box is applied to the corresponding size parameter of the control.
- Define a class TSizeBoxes for all size boxes of a control. Has property "Control"
- The "TSizePanel" gets a method "ShowSizeBoxes" which creates the TSizeBoxes and displays them. "HideSizeBoxes" removes them again.