1 unit GenericListSelect;
2 
3 {$mode objfpc}{$H+}
4 
5 interface
6 
7 uses
8   Classes, SysUtils,
9   Controls, Forms, StdCtrls, Dialogs, ButtonPanel;
10 
11 type
12 
13   { TGenericListSelectForm }
14 
15   TGenericListSelectForm = class(TForm)
16     ButtonPanel1: TButtonPanel;
17     ListBox: TListBox;
18     InfoLabel: TLabel;
19     procedure FormShow(Sender: TObject);
20     procedure ListBoxClick(Sender: TObject);
21     procedure ListBoxDblClick(Sender: TObject);
22   private
23     procedure UpdateButtons;
24   public
25     constructor Create(TheOwner: TComponent); override;
26     destructor Destroy; override;
27   end;
28 
29 var
30   GenericListSelectForm: TGenericListSelectForm;
31 
32 implementation
33 
34 {$R *.lfm}
35 
36 { TGenericListSelectForm }
37 
38 constructor TGenericListSelectForm.Create(TheOwner: TComponent);
39 begin
40   inherited Create(TheOwner);
41   InfoLabel.Caption := '';
42 end;
43 
44 destructor TGenericListSelectForm.Destroy;
45 begin
46   inherited Destroy;
47 end;
48 
49 procedure TGenericListSelectForm.FormShow(Sender: TObject);
50 begin
51   UpdateButtons;
52 end;
53 
54 procedure TGenericListSelectForm.ListBoxClick(Sender: TObject);
55 begin
56   UpdateButtons;
57 end;
58 
59 procedure TGenericListSelectForm.ListBoxDblClick(Sender: TObject);
60 begin
61   if ListBox.ItemIndex > -1 then
62     ModalResult:=mrOK;
63 end;
64 
65 procedure TGenericListSelectForm.UpdateButtons;
66 begin
67   ButtonPanel1.OKButton.Enabled := ListBox.ItemIndex >= 0;
68   //ListBox.Selected[1];
69 end;
70 
71 end.
72 
73