mirror of
https://github.com/rejetto/hfs2.git
synced 2025-12-19 18:13:46 +01:00
50 lines
1.1 KiB
ObjectPascal
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.
|