コントロールをドッキング可能な子コントロールにする
ドラッグ&ドックをコントロールに実装する への移動
コントロールをドッキング可能な子コントロールにするには:
- DragKind プロパティを dkDock に設定します。 DragKind が dkDock の場合、コントロールをドラッグすると、新しいドッキング サイトにコントロールを移動するか、コントロールをアンドックしてフローティング ウィンドウにできます。 DragKind が dkDrag の場合(デフォルト)、コントロールをドラッグすると、ドラッグ アンド ドロップ操作を開始します。ドラッグ アンド ドロップ操作は、OnDragOver、OnEndDrag、および OnDragDrop イベントを定義して実装されなければなりません。
- DragMode を dmAutomatic に設定します。 DragMode が dmAutomatic である場合、ユーザーがマウスでコントロールをドラッグすると、ドラッグ(ドラッグ アンド ドロップ操作かドッキング操作かは DragKind に依存)が自動的に開始されます。 DragMode が dmManual の場合は、BeginDrag メソッドを呼び出して、ドラッグ アンド ドック(またはドラッグ アンド ドロップ)操作を開始させることができます。
- コントロールがアンドックされてフローティング ウィンドウとして残されたときに TWinControl からの派生クラスがコントロールをホストすることを示すように、FloatingDockSiteClass プロパティを設定します。 コントロールがドッキング サイト上ではない場所でリリースされると、このクラスのウィンドウ コントロールが動的に作成され、ドッキング可能な子コントロールの親になります。 ドッキング可能な子コントロールが TWinControl の下位クラスである場合、コントロールをホストするための別のフローティング ドック サイトを作成する必要はありません。 ダイナミック コンテナ ウィンドウを省略するときは、FloatingDockSiteClass をコントロールと同じクラスに設定すると、親のないフローティング ウィンドウになります。