I think this would have to be done at the time the window is created (which is before you see any events / constructors in Xojo code)
The method CreateWindowEXW like
creates a new window with the supplied parent window as a child. There’s no way to access this directly from Xojo
The closest I could find it the SetParent which seems like it will make a window be a child of an existing window
However this still doesnt seem to be quite the same as macOS where children move as a group with their parents
You might have to use calls to TileWindows
to do this “automatically” as the parent window is moved