Migaro. 技術Tips

                       

ミガロ. 製品の技術情報
IBMiの活用に役立つ情報を掲載!


【Delphi】フローティング機能の実装方法

今回はDelphiでパネルなどを分離できる機能「フローティング」について、簡単な実現方法を紹介します。

  1. Delphiを起動し、アプリケーションの新規作成を行います。
  2. フォームにTPanelコンポーネントを配置します。
    (ここではこのPanelをフローティングさせます。Button等、他のコンポーネントでも可能です。)
  3. フォームのDockSiteプロパティをTrueにします。
  4. PanelのDragKindプロパティをdkDockに、DragModeプロパティをdmAutomaticに設定します。

以上で完成です。実行して動作を確認してみてください。

 

ただ、このままですとフローティングしたPanelの終了(右上の×)ボタンを押すと
Panelが消えたままになってしまいますので、
フォームのClickイベントで消えてしまったPanelを再表示する例をつけておきます。

procedure TForm1.FormClick(Sender: TObject);
var
  R: TRect;
begin
  if not Panel1.Visible then
  begin
    R.Top    := Form1.Top;
    R.Left   := Form1.Left;
    R.Bottom := R.Top + Panel1.Height;
    R.Right  := R.Left + Panel1.Width;
    Panel1.ManualFloat(R);
  end;
end;

 

<実行時イメージ>

 

<関連記事>

【Delphi】画面をドッキングする制御方法について

 

 

(ミガロ.情報マガジン「MIGARO News!!」Vol.026 2003年3月号より)