delphi - 带分离器的面板布局

标签 delphi layout delphi-2007

我有一个关于 DevExpress 的 TPanels 和 TcxSplitter 布局的问题。 panellayout http://pp.kpnet.fi/bengtsson/temp/layout.png

主窗体有一些面板 A 到 G。A - F 收集在一个面板 ABCDEF 中。 ABCDEF 包含 3 个面板: AB、CDE 和 F。 面板CDE包含面板CD。

在面板之间的所有限制之间,有一个来自 DevExpress 的 TcxSplitter。 问题是用户可以将 ABCDEF 和 G 之间的分离器移动到左侧,以便到达面板 AB 并覆盖面板 CDE。我不想允许这种情况发生。

相反,我希望面板 CDE 的最小宽度为 5 像素。那么面板AB的宽度应该缩小。希望我解释得足够好:) 我尝试在面板 CDE 上设置constraint.minwidth = 5,但面板仍然可以隐藏。也许 Devexpress 有一些很好的解决方案?

问候

最佳答案

cxSplitter 具有 MinSize 属性,从我在测试应用程序中看到的情况来看,调整大小时会尊重它。由于只有 1 个 MinSize 属性,因此会检查拆分器两侧的面板,因此您不能为拆分器的一侧指定最小 50 个像素,为拆分器另一侧的面板指定 100 个像素。但请确保 AutoSnap 属性为 false。

但是拆分器上还有一个 OnCanResize 事件,因此您也可以防止在那里调整大小。

此外,由于您使用的是 devex,我建议您使用 dockSite/dockPanel 或 LayoutControl v2,而不是普通的 Delphi TPanel。

关于delphi - 带分离器的面板布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2294724/

相关文章:

delphi - Jpeg 到 Bmp 的转换需要不合理的时间

multithreading - 用于非阻塞多线程同步的 Lock-Free、Wait-Free 和 Wait-freedom 算法

android - 创建新 Activity 时资源 NotfoundException

layout - Cadence Virtuoso Layout L 虚拟对象

.net - 如何将 Unicode 字符串从托管函数传递到非托管函数

delphi - 在 Delphi 2007 中将具有透明度的位图保存为 PNG

delphi - 在 TScrollBox 中显示 DLL 中的表单

multithreading - Delphi 类变量有全局存储还是线程本地存储?

html - Div 位于中心,具有特定宽度,两侧必须随屏幕缩放

Delphi 2007(或 2009)构建事件与构建配置相关吗?