Как управлять размещением дочернего окна MDI (FormStyle := fsMDIChild) в Delphi или C++Builder? Я знаю, что могу установить Left, Top, Position и т. д., но, в частности, для дочернего MDI они не вступят в силу до тех пор, пока окно уже не будет создано и показано в его местоположении по умолчанию. В результате создание и позиционирование нескольких окон одновременно приводит к незначительному мерцанию, поскольку окна создаются в положениях по умолчанию, а затем немедленно перемещаются и изменяются в размерах.
Изучая исходный код VCL, единственное решение, которое я смог найти, — это переопределить метод CreateParams TCustomForm и изменить поля X, Y, Width и Height параметра Params, но это похоже на хак. Есть ли более чистый способ сделать это?