我为Delphi编写了一个小型IDE扩展。我的表单来自TDockableToolbarForm。我已经弄明白如何让IDE在.dst和.dsk文件中保存表单的位置。
表格注册如下:
procedure Register;
begin
RegisterFieldAddress('MyForm', @MyForm);
RegisterDesktopFormClass(TMyForm, 'My Form', 'MyForm');
MyForm := TMyForm.Create(nil);
MyForm.Show;
end;
我在表单中添加了以下OnCreate处理程序:
procedure TMyForm.FormCreate(Sender: TObject);
begin
inherited;
AutoSave :=True;
SaveStateNecessary := True;
DeskSection := 'My Form';
end;
这导致将以下内容写入dst / dsk文件:
[My Form]
PercentageSizes=1
Create=1
Visible=0
Docked=1
State=0
Left=0
Top=0
Width=1193
Height=4115
MaxLeft=-1
MaxTop=-1
ClientWidth=1109
ClientHeight=3788
TBDockHeight=4115
LRDockWidth=1193
Dockable=1
StayOnTop=0
这允许表单的布局在IDE的一次运行和下一次运行之间保持不变。但是,我有两个问题:
我怀疑这两个问题都是由错过的一步造成的,但我对这一步是什么感到茫然。
对于第一个问题,我发现TControl.ManualDock
经常在关于对接的讨论中提到{但是它总是引用您可以访问源的应用程序。我不知道如何从IDE中检索必要的参数来调用它。
对于第二个问题,我唯一知道的是,在卸载软件包之后,dst文件中的设置仍然存在,所以我认为使用现有设置重新安装软件包很简单,但这并不是很好。似乎是这样。