首页 > 代码库 > delphi一次性批量在TScrollBox中显示N个复选框TCheckBox的源码
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.
代码的效果图如下:
delphi一次性批量在TScrollBox中显示N个复选框TCheckBox的源码
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。