Delphi 带分离器的面板布局
我对DevExpress的TPanels和TcxSpliter的布局有疑问。 主窗体有一些面板A到G。A-F收集在一个面板ABCDEF中。 ABCDEF包含3个面板: AB、CDE和F。 面板CDE包含面板CD 在面板之间的所有限制之间,有一个来自DevXpress的TcxSplitter。 问题是,用户可以在ABCDEF和G之间使用拆分器,并将其向左移动,使其到达面板AB和盖板CDE。我不想允许这样 相反,我希望面板CDE的最小宽度为5像素。然后面板AB的宽度应缩小。希望我解释得足够好:) 我已尝试在面板CDE上设置constraint.minwidth=5,但该面板仍可以隐藏。也许Devexpress有一些很好的解决方案 请尝试此属性Delphi 带分离器的面板布局,delphi,layout,delphi-2007,Delphi,Layout,Delphi 2007,我对DevExpress的TPanels和TcxSpliter的布局有疑问。 主窗体有一些面板A到G。A-F收集在一个面板ABCDEF中。 ABCDEF包含3个面板: AB、CDE和F。 面板CDE包含面板CD 在面板之间的所有限制之间,有一个来自DevXpress的TcxSplitter。 问题是,用户可以在ABCDEF和G之间使用拆分器,并将其向左移动,使其到达面板AB和盖板CDE。我不想允许这样 相反,我希望面板CDE的最小宽度为5像素。然后面板AB的宽度应缩小。希望我解释得足够好:)
cxSplitter1.ResizeUpdate:=True;
cxSplitter具有MinSize属性,从我在测试应用程序中看到的情况来看,在调整大小时它是受尊重的。由于只有1分钟大小属性,因此会检查拆分器两侧的面板,因此不能为拆分器的一侧指定最小50像素,为另一侧的面板指定最小100像素。但请确保AutoSnap属性为false 但是拆分器上还有一个OnCanResize事件,因此您也可以防止在那里调整大小
另外,由于您使用的是devex,我建议您使用dockSite/dockPanel或layoutcontrolv2,而不是普通的Delphi TPanel。Wow。我只是很惊讶你竟然能带着这个拆分器走这么远。分离器组件可能是vcl中最不“可行”的组件。我建议您看看raize components splitterpanel。我发现它更容易使用。这只是一个恼人的小故障,总体而言,我对Devexpress组件套件感到满意。应用程序主要用于网格。我认为dxSplitter只是附带vcl拆分器的一个更漂亮的版本。dxSplitter的工作原理与标准vcl拆分器有什么不同吗?我使用OnCanResize事件并防止调整大小超过限制。谢谢