Mas*_*ler 5 delphi user-interface splitter
我有一个对话框,其中列出了这样的内容:
---------------------------------------------
| |
| CONFIG AREA |
| Align: alTop |
--------------------------------------------- <-static boundary
| |
| DISPLAY AREA 1 |
| Align: alTop |
============================================= <-TSplitter Align: alTop
| |
| DISPLAY AREA 2 |
| align: alClient |
--------------------------------------------- <-bottom of dialog
Run Code Online (Sandbox Code Playgroud)
但是,在运行时,分割器不会显示在显示区域1和显示区域2之间,而是显示在配置区域和显示区域1之间,从而导致一些恼人的接口问题.表单中与设置相关的事件处理程序中没有任何内容可以改变任何这些组件的Visible或Align属性.有谁知道为什么分割器没有加载到它在表单设计器中的位置?
And*_*and 11
(无法重现.)分路器很棘手.我总是编写代码来定位它们.在这种情况下,我会这样做
procedure Form1Show(Sender: TObject);
begin
Splitter1.Top := DisplayArea2.Top;
end;
Run Code Online (Sandbox Code Playgroud)
我过去也遇到过同样的问题.TSplitter应放在两个TPanel之间,如:
+---------------------------------------------+
|+-------------------------------------------+|
|| ||
|| CONFIG AREA ||
|| Align: alTop ||
|+-------------------------------------------+|
|| ||
|| DISPLAY AREA 1 ||
|| Align: alClient ||
|+-------------------------------------------+|
+---------------------------------------------+
=============================================== <-TSplitter Align: alTop
| |
| DISPLAY AREA 2 |
| align: alClient |
----------------------------------------------- <-bottom of dialog
Run Code Online (Sandbox Code Playgroud)
配置区域和显示区域1现在应该包含在具有Align:= alTop的TPanel内,并且配置区域或显示区域1应该与alClient对齐.
希望这可以帮助