lazarus/examples/listboxtestfrm.pas

83 lines
1.6 KiB
ObjectPascal

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.