• [原创]delphi一次性批量在TScrollBox中显示N个复选框TCheckBox的源码


    unit Unit1;
    
    interface
    
    uses
      Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
      System.Classes, Vcl.Graphics,
      Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
    
    type
      TForm1 = class(TForm)
        ScrollBox1: TScrollBox;
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    procedure TForm1.Button1Click(Sender: TObject);
    var
      i:integer;
      numPerCol,col: Integer;
      _left: Integer;
      _top: Integer;
      row: Integer;
      recnum, vspace: Integer;
      chk: TCheckBox;
    begin
      col := 1;
      row := 1;
      recnum := 0;
      vspace := 15;  //行间距
      _left := 10;
      _top := 10;
      numPerCol:=10; //每列显示10个checkbox
    
      for i := 1 to 35 do
      begin
        inc(recnum);
        chk         := TCheckBox.Create(self.ScrollBox1);
        chk.Parent  := self.ScrollBox1;
        chk.Caption := IntToStr(i);
        chk.Tag     := i;
        if (recnum mod numPerCol = 0) then
        begin
          chk.Left := _left * col + chk.Width * (col - 1);
    
          if col > 1 then
            chk.Top := _top + chk.Height * (row - 1) +
              vspace * (row - 1)
          else
            chk.Top := _top * (col) + chk.Height *
              (row - 1) + vspace * (row - 1);
    
          inc(col);
          row := 1;
        end
        else
        begin
          chk.Left := _left * col + chk.Width * (col - 1);
    
          if col > 1 then
            chk.Top := _top + chk.Height *
              (row - 1) + vspace * (row - 1)
          else
            chk.Top := _top * (col) + chk.Height *
              (row - 1) + vspace * (row - 1);
    
          inc(row);
        end;
      end;
    end;
    
    end.

     代码的效果图如下:

  • 相关阅读:
    vue登录
    登录vue
    FoolWeb Logo
    无限极下拉列表管理
    qtip2 扩展.net mvc 默认验证样式
    编辑器上传提交不能过.net 安全验证的解决方案
    FoolWeb 各层代码实例
    iis7 上传大文件那点事
    js制作 电子杂志(附源代码)
    FoolWeb (二) 数据库设计
  • 原文地址:https://www.cnblogs.com/yzryc/p/6955249.html
Copyright © 2020-2023  润新知