hfs2/listSelectDlg.pas
Massimo Melina b654228675 first commit
2020-05-02 19:04:16 +02:00

50 lines
1.1 KiB
ObjectPascal

unit listSelectDlg;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, CheckLst, types, utilLib, strutils;
type
TlistSelectFrm = class(TForm)
listBox: TCheckListBox;
Panel1: TPanel;
okBtn: TButton;
cancelBtn: TButton;
private
{ Private declarations }
public
{ Public declarations }
end;
function listSelect(title:string; var options:TstringList):boolean;
implementation
{$R *.dfm}
function listSelect(title:string; var options:TstringList):boolean;
var
dlg: TlistSelectFrm;
i: integer;
begin
result:=FALSE;
dlg:=TlistSelectFrm.Create(NIL);
with dlg do
try
caption:=title;
listBox.items.assign(options);
for i:=0 to options.count-1 do
if options.objects[i] <> NIL then
listbox.Checked[i]:=TRUE;
clientHeight:=clientHeight-listBox.ClientHeight+listBox.ItemHeight*minmax(5,15, listbox.count);
if showModal() = mrCancel then exit;
for i:=0 to listbox.Count-1 do
options.Objects[i]:=if_(listbox.Checked[i], PTR1, NIL);
result:=TRUE;
finally dlg.free end;
end;
end.