TDockTabSet.DestinationDockSiteのドッキング状態を保存・復元するには?

解決


荒木  2005-06-16 08:10:30  No: 15667

私はDelphi 2005のTDockTabSetとTPanelを用いてドッキング可能なフォームを作成しています。

ドッキング位置の保存と復元をしたいのですが、TDockTabSetの機能を生かしたまま復元する方法はないでしょうか?

https://www.petitmonte.com/bbs/answers?question_id=1601と同様の方法は既に試みましたが、UseDockManagerを無効にするとTDockTabSetの機能を発揮できません


荒木  2005-06-17 10:09:04  No: 15668

解決しました。DockManagerのストリーム読み書き機能を使えばよいようですね。

復元は
    ms := TMemoryStream.Create;
    try
      RegistryIniFile.ReadBinaryStream('Docking', 'DockPanel', ms);
      ms.Position := 0;
      DockPanel.DockManager.LoadFromStream(ms);
    finally
      FreeAndNil(ms);
    end;
保存は
    ms := TMemoryStream.Create;
    try
      DockPanel.DockManager.SaveToStream(ms);
      ms.Position := 0;
      RegistryIniFileWriteBinaryStream('Docking', 'DockPanel', ms);
    finally
      FreeAndNil(ms);
    end;
(これはドッキング「位置」の保存と復元。ドッキングはあらかじめManualDockしておく)
とするとうまくいきました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加