1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
|
unit ListBoxTestFrm;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, LazLogger;
type
{ TListBoxTestForm }
TListBoxTestForm = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
ListBox: TListBox;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure FormResize(Sender: TObject);
private
public
end;
var
ListBoxTestForm: TListBoxTestForm;
implementation
{$R *.lfm}
{ TListBoxTestForm }
procedure TListBoxTestForm.Button1Click(Sender: TObject);
var
Index: integer;
begin
Index := ListBox.ItemIndex;
if Index = -1 then
ListBox.Items.Add('Button 1 clicked')
else
ListBox.Items.Insert(Index, 'Button 1 clicked at '+IntToStr(Index));
for Index := 0 to ListBox.Items.Count - 1 do
ListBox.Items.Objects[Index] := TObject(PtrInt(Index));
end;
procedure TListBoxTestForm.Button2Click(Sender: TObject);
var
Index: integer;
begin
Index := ListBox.ItemIndex;
if Index <> -1 then
ListBox.Items.Delete(Index);
end;
procedure TListBoxTestForm.Button3Click(Sender: TObject);
begin
ListBox.Items.Clear;
end;
procedure TListBoxTestForm.Button4Click(Sender: TObject);
var
X: PtrInt;
begin
if ListBox.ItemIndex < 0 then Exit;
X := PtrInt(ListBox.Items.Objects[ListBox.ItemIndex]);
DebugLn(['TListBoxTestForm.Button4Click ',X]);
end;
procedure TListBoxTestForm.FormResize(Sender: TObject);
begin
Caption := Format('%dx%d', [ListBox.Width, ListBox.Height]);
end;
end.
|