我的应用程序有一个表单 - 用于设计其他表单并包含一个Object Inspector(bas ascii art follow)
-----------------------
|obj | design forms |
|insp| here |
| | |
-----------------------
Run Code Online (Sandbox Code Playgroud)
因此,应用程序的主窗体包含对象窗体和可放置组件的另一个窗体(顶部还有一个工具栏用于选择组件,但我没有显示).
现在,如果我将主窗体放大,我希望内容扩展以适应它...
-------------------------------
|obj | design forms |
|insp| here |
| | |
| | |
| | |
-------------------------------
Run Code Online (Sandbox Code Playgroud)
所以我的"表单设计师"形式有 Align := alClient;
但是,如果我在其上放置一个组件,那么它会与边缘重叠......
-------------------------------
|obj | design forms |
|insp| here -----------
| | |component|
| | -----------
| | |
-------------------------------
Run Code Online (Sandbox Code Playgroud)
屏幕当然显示
-------------------------------
|obj | design forms |
|insp| here -----|
| | |comp|
| | -----|
| | |
-------------------------------
Run Code Online (Sandbox Code Playgroud)
我想要一个自动滚动条.
但是,似乎Align := alClient;覆盖了AutoScroll:= true;
知道如何解决这个冲突吗?1)设计师区域应该收缩和增长,总是填充主要形式的右侧部分,因为主要形式被调整大小2)如果放置一个组件,其将悬挂在设计师形式的边缘上,那么它应该生长滚动条
或者我完全忽略了这一点?我有处理组件放置的代码 - 我是否应该检查是否需要添加滚动条?
我认为一个相对简单的解决方案是将表单切换到Align父alNone表单的调整大小事件并对其进行定位和调整大小。想必您那里有一个分离器,您也必须监听其大小事件。
只要您只有检查器和设计表单,那么这就是一个非常简单的实施解决方案。如果你有更多的工具窗口,那么它会变得更加棘手,但基本思想可以扩展。
| 归档时间: |
|
| 查看次数: |
899 次 |
| 最近记录: |