Delphi实现容器分隔

Author: 韩世伟 Date: 1999年 第10期 13版

    随着Windows95的流行,分隔器控件已成为操作系统的常用部件,它将容器(通常为窗体或面板)的客户区域分为可调整大小的若干部分,称为窗格。我们最常见到的例子就是Windows95的资源管理器,它使用了一个分隔器控件(也就是在资源管理器中可以用鼠标左右拖动的竖条)将目录树视图和文件表视图分隔开,可以由用户任意调整。Delphi提供了一个分隔器控件TSplitter来实现这种功能,下面以制作一个简单的资源管理器为例来介绍设计步骤:
    1.从Standard 标记页中选择容器Panel控件,将其放入Form1中,命名为Panel1,并将其Align属性设置为alClient。
    2.从Win3.1标记页中选择DirectoryListBox控件,将其放入容器Panel1中,命名为DirectoryListBox1,置Align属性为alLeft,并调整其初始宽度。
    3.从Additional标记页中选择Splitter控件,放入容器Panel1中,置Align属性为alLeft,Width属性为5。
    4.再从Win3.1标记页中选取FileListBox控件放入Panel1中,命名为FileListBox1,置Align属性为alClient。
    5.最后,将DirectoryListBox1的FileList属性置为FileListBox1。
    现在,按F9运行程序,便会出现一个简单的资源管理器,设计出的窗体具有随意调整窗格大小的能力。在Delphi中实现容器分隔非常简单,甚至一句程序代码也不用写。要注意的是,封装了分隔器控件的TSplitter只有在Delphi 3 以上才有,Delphi 2 以下必须编写一段程序代码才能实现此功能。