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