Form1、Form2、および Form3 (メイン フォーム) という名前のアプリケーションに 3 つのウィンドウがあります。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 がメイン ウィンドウをフォアグラウンドに移動する理由がわかりません。


