我的应用程序中有三个窗口,名为Form1,Form2和Form3(主窗体)。 Form2可以停靠在Form1中。相应的属性设置如下:
Form1-> DockSite = true;
Form2-> DragKind = dkDock; Form2-> DragMode = dmAutomatic;
Form3-> DockSite = false;
在启动拖放操作之前的窗口状态显示在screenshot1上。屏幕截图2显示了启动拖放操作后的窗口状态。如您所见,在开始拖动操作后, Form3将立即移至前台。将Form2移动到Form1上的可停靠区域后,灰色矩形出现在屏幕上,指示停靠位置(即使此停靠位置隐藏在主窗体下)。释放鼠标左键后,Form2正确停靠在Form1中,主窗体再次进入后台。在拖动过程中如何禁止主窗口(Form3)在Form1之上移动?我怀疑这与主窗体顶部的TAdvDockPanel有关。实际上,即使我想要,我也无法将Form2停靠在主窗体的任何地方,所以我不明白为什么VCL会在没有任何事情的情况下将主窗口移动到前台?