|
发表于 2006-8-16 11:10:15
|
显示全部楼层
DockStub
平台主界面的功能树的自动隐藏使用了DockStub控件来实现。
A、添加DockStub控件
Align属性设置为 alClient
B、设置需要显示在Dockstub中的控件(必须是TWinControl的子类)属性
C、向DockStub中加入Acontrol:TwinControl
procedure TfrmWord.AddControlClick(Sender: TObject);
var
cc : TControlConfig;
begin
cc := TControlConfig.Create('DocView1'); //用于设置Acontrol:TwinControl的显示和控制参数
cc.CanClose := false; 能否关闭
cc.Text := '显示名称'; 显示标题
cc.AutoHide := 'AutoHide';
cc.AutoHideHeight := 600;
cc.AutoHideWidth := 600;
cc.AllowButtons := [TDockWindowButton.wbHide, TDockWindowButton.wbAutoHide,
TDockWindowButton.wbDock, TDockWindowButton.wbClose]; 控制按钮
cc.AllowDockKinds := [TDockKind.dkDocking, TDockKind.dkFloating,
TDockKind.dkAutoHide]; 显示风格
cc.Image := img.Picture;
DockStub.AddClient('DocView1', DocView1, cc); 将Acontrol:TwinControl按照CC指定的显示和控制方式加入DockStub
end;
D、也可以调用DockStub.InitControlConfigs设置显示参数
procedure InitControlConfigs(IDs: array of string; Texts: array of string; Images: array of Business.System.TPicture; Width: Longint; Height: Longint; Kind: TDockKind; Side: TAlign; CanClose: Boolean; AllowButtons: TDockWindowButtons; AllowDockKinds: TDockKinds);
E、调用DockStub.SaveConfig保存控件显示状态(不保存浮动窗体的标签)
procedure LoadConfig(IniFile: Business.System.TCustomIniFile);
procedure SaveConfig(IniFile: Business.System.TCustomIniFile); |
|