zoukankan      html  css  js  c++  java
  • 使用TSplitter控件调整其他控件大小简便方法

    首先,以两个Panel控件大小变换为例。

    第一步:首先先放入两个panel控件,一个Align属性设置为alLeft,另一个Align属性设置为alClient。这样这两个控件就可以充满这个Form。

    第二步:然后加入一个TSplitter控件。设置Align属性,并将其拖放到需要调整大小的两个控件中间。当Align属性设置为alLeft或者alRight时候,可以调整左右两边控件大小。当Align属性设置为alTop或者alBottom时候,可以调整上下两边控件大小。

    然后,就可以开始写TSplitter控件的方法以达到效果。

    TSplitter两个方法:

      当分隔条控件试图被拖动的改变其他控件大小的时候触发

    1.spl1CanResize(Sender: TObject; var NewSize: Integer; var Accept: Boolean);
    

      当分隔条控件已经被拖动并且已经改变了其他控件的大小的时候触发

    2.spl1Moved(Sender: TObject);
    

      最后,我们只需写CanResize方法即可,如下:

    1 procedure TFrmMain.spl1CanResize(Sender: TObject; var NewSize: Integer;
    2   var Accept: Boolean);
    3 begin
    4   Accept := (NewSize >= LeftWidth) and ((self.ClientWidth - (NewSize + spl1.Width)) >= RightWidth);
    5 end;

    其中,LeftWidth为左边Panel最小的宽度,这个宽度应当小于左边Panel原本的宽度;同样,RightWidth为右边Panel控件的最小宽度,这个宽度应该小于右边Panel控件的宽度。

  • 相关阅读:
    shutil文件去重模块
    Nexus构建npm、yum、maven私有仓库
    centos7添加自定义服务到systemctl
    Sonatype nuxus私有仓库介绍
    rancher单节点备份和恢复
    rancher证书过期X509:certificate has expired or is not ye valid
    清理docker日志
    mysql 9 hash索引和B+tree索引的区别
    mysql 8 索引
    mysql 7 慢查询+慢查询工具
  • 原文地址:https://www.cnblogs.com/Blogs-young-chan/p/5316160.html
Copyright © 2011-2022 走看看