2
我想重置TControlBar內的一組工具欄位置。用戶可以拖動工具欄並將其解除。我試圖創建重置按鈕,將重新排列工具欄是一種預設時尚。以編程方式設置停靠的工具欄的位置
我很難讓工具欄按照我想要的順序重置。根據我的代碼執行之前的排列方式,我的ManualDock調用的結果似乎有所不同。
我有4個工具欄,我想排列成兩行是這樣的:
[Toolbar1][Toolbar2] [Toolbar3][Toolbar4]
我曾嘗試下面的代碼的變種沒有成功:
// I found some references to different docking issues when controls were visible
// Hide everything first and then show them in the order I want them added.
Toolbar1.Visible := false;
Toolbar2.Visible := false;
Toolbar3.Visible := false;
Toolbar4.Visible := false;
ToolBar1.Visible := true;
ToolBar1.ManualDock(DockSite);
ToolBar1.Left := 0;
Toolbar2.Visible := true;
Toolbar2.ManualDock(DockSite, Toolbar1, alRight);
Toolbar3.Visible := true;
Toolbar3.ManualDock(DockSite, Toolbar1, alBottom);
Toolbar3.Left := 0;
Toolbar4.Visible := true;
Toolbar4.ManualDock(DockSite, Toolbar3, alRight);
在屏幕上的結果是根據不同在我的代碼執行之前工具欄開始的位置。
我嘗試了好幾種不同的方法 - 設置工具欄頂部和手動對接通話後離開 - alLeft /是alTop代替上述選項 - 使用無作爲ManualDock調用中的第二PARM,一切都設置爲是alTop
我試着用2個工具欄強制它們出現在同一行(並排)或兩行。再次,我的結果是不同的,這取決於我的代碼執行之前工具欄的起始位置。
這是爲我做的。在這個和我的代碼之間嘗試不同的選項,在更改左邊和頂部位置之前,關鍵似乎是在* all *工具欄上調用ManualDock。 –