Изменение z-порядка окон во время операции перетаскивания
У меня есть три окна в моем приложении с именами Form1, Form2 и Form3 (основная форма). Form2 может быть пристыкован к Form1. Соответствующие свойства устанавливаются следующим образом:
Form1-> DockSite = true;
Form2-> DragKind = dkDock; Form2-> DragMode = dmAutomatic;
Form3-> DockSite = false;
Состояние окон перед началом операций перетаскивания отображается на снимке экрана1. Состояние окон после запуска операций перетаскивания отображается на скриншоте2. Как видите, сразу после запуска операций перетаскивания Form3 перемещается на передний план. После перемещения Form2 над закрепляемой областью в Form1 на экране появляется серый прямоугольник, указывающий место закрепления (даже если это место закрепления скрыто под основной формой). После отпускания левой кнопки мыши, Form2 правильно пристыкован к Form1, и основная форма снова уходит в фон. Как я могу запретить основному окну (Form3) перемещаться поверх Form1 во время процесса перетаскивания? У меня есть подозрение, что это связано с TAdvDockPanel поверх основной формы. На практике я не могу пристыковать Form2 где угодно к основной форме, даже если я хочу, поэтому я не понимаю, почему VCL перемещает главное окно на передний план, когда нечего делать?