lazarus/components/rtticontrols/examples/examplegrid1.pas
mattias 93e8d2e820 cleanup example rtticontrols grid
git-svn-id: trunk@8012 -
2005-10-31 08:35:46 +00:00

81 lines
1.5 KiB
ObjectPascal

unit ExampleGrid1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, RTTIGrids,
RTTICtrls;
type
{ TMyCollectionItem }
TMyCollectionItem = class(TCollectionItem)
private
FInt: integer;
FStr: string;
FColor: TColor;
published
property Color: TColor read FColor write FColor;
property Str: string read FStr write FStr;
property Int: integer read FInt write FInt;
end;
{ TForm1 }
TForm1 = class(TForm)
TICheckBox1: TTICheckBox;
TIGrid1: TTIGrid;
procedure Form1Create(Sender: TObject);
procedure Form1Destroy(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
MyCollection: TCollection;
end;
var
Form1: TForm1;
implementation
{ TForm1 }
procedure TForm1.Form1Create(Sender: TObject);
var
NewItem: TMyCollectionItem;
begin
// create a collection with 2 items
MyCollection:=TCollection.Create(TMyCollectionItem);
NewItem:=TMyCollectionItem(MyCollection.Add);
NewItem.Color:=clRed;
NewItem.Str:='Some';
NewItem.Int:=123;
NewItem:=TMyCollectionItem(MyCollection.Add);
NewItem.Color:=clBlue;
NewItem.Str:='Text';
NewItem.Int:=789;
// show the collection
TIGrid1.ListObject:=MyCollection;
end;
procedure TForm1.Form1Destroy(Sender: TObject);
begin
// disconnect collection from grid
TIGrid1.ListObject:=nil;
// free collection
MyCollection.Free;
end;
initialization
{$I examplegrid1.lrs}
end.