【发布时间】:2010-05-04 15:13:25
【问题描述】:
我在我的应用程序 2 中创建了工具栏。因为我希望能够拖动它们,所以我将两个 TToolBar 组件都放在了 TControlBar 中。在这种情况下,我可以移动它们,但我希望能够像在 MS Office 中那样拖动它们(从顶部拖动工具栏并将其放在窗口的左侧、右侧或底部并保存它的位置)....
谁能帮帮我?
【问题讨论】:
我在我的应用程序 2 中创建了工具栏。因为我希望能够拖动它们,所以我将两个 TToolBar 组件都放在了 TControlBar 中。在这种情况下,我可以移动它们,但我希望能够像在 MS Office 中那样拖动它们(从顶部拖动工具栏并将其放在窗口的左侧、右侧或底部并保存它的位置)....
谁能帮帮我?
【问题讨论】:
将工具栏的“DragKind”设置为“dkDock”,将“DragMode”设置为“dmAutomatic”。 ControlBars 的“DockSite”应该是 True。现在你所需要的就是坚持某事。拖动,由于某种原因,拖动手柄似乎不起作用,但分隔符会起作用。也许作为第一个项目的分隔符会伪造一个拖动句柄。
出于测试目的,编译并运行“...\Demos\DelphiWin32\VCLWin32\Docking”文件夹中的“Docking Demo”。您应该能够通过拖动“退出”和“工具栏1”按钮之间的分隔符来浮动“工具栏1”。
至于保存位置,我相信你会手动做的
话虽如此,IMO,这些控件并不能构成好的 GUI 元素。据我所知,Office 应用程序从未使用过 ToolbarWindow32 和 Rebar 控件。改为使用 3rd 方库。我正在使用依赖于Toolbar2000 的SpTBXLib 库。
【讨论】: