Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi 带分离器的面板布局_Delphi_Layout_Delphi 2007 - Fatal编程技术网

Delphi 带分离器的面板布局

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的宽度应缩小。希望我解释得足够好:)

我对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有一些很好的解决方案

请尝试此属性

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事件并防止调整大小超过限制。谢谢