mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-14 09:20:23 +02:00
83 lines
1.6 KiB
ObjectPascal
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.
|
|
|