在拖放操作期间更改窗口z排序

时间:2016-05-18 12:58:44

标签: drag dock z-order c++builder-xe7

我的应用程序中有三个窗口,名为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会在没有任何事情的情况下将主窗口移动到前台?

enter image description here

enter image description here

enter image description here

0 个答案:

没有答案