Files
lazarus-ccr/components/nicegrid/demos/Basic Demo/common/main.pas
wp_xxyyzz 9884b87d80 NiceGrid: Initial commit
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8841 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2023-06-23 15:21:39 +00:00

161 lines
3.7 KiB
ObjectPascal

unit Main;
{$IFDEF FPC}
{$MODE Delphi}
{$ENDIF}
interface
uses
SysUtils, Variants, Classes, Types, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, NiceGrid;
type
TMainForm = class(TForm)
NiceGrid1: TNiceGrid;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
CheckBox3: TCheckBox;
CheckBox4: TCheckBox;
CheckBox5: TCheckBox;
Label1: TLabel;
Label2: TLabel;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
CheckBox6: TCheckBox;
procedure CheckBox1Click(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
procedure CheckBox3Click(Sender: TObject);
procedure CheckBox4Click(Sender: TObject);
procedure CheckBox5Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure NiceGrid1DrawHeader(Sender: TObject; ACanvas: TCanvas;
Rc: TRect; Str: string; var Handled: Boolean);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure NiceGrid1InsertRow(Sender: TObject; ARow: Integer);
procedure Button4Click(Sender: TObject);
procedure CheckBox6Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
MainForm: TMainForm;
implementation
{$IFDEF FPC}
{$R *.lfm}
{$ELSE}
{$R *.dfm}
{$ENDIF}
procedure TMainForm.CheckBox1Click(Sender: TObject);
begin
NiceGrid1.Flat := CheckBox1.Checked;
end;
procedure TMainForm.CheckBox2Click(Sender: TObject);
begin
if CheckBox2.Checked then
begin
with NiceGrid1 do
begin
//GridColor := clBtnShadow;
HeaderColor := clBtnFace;
HeaderDarkColor := clBtnShadow;
HeaderLightColor := clBtnHighlight;
HeaderFont.Color := clBlack;
GutterFont.Color := clBlack;
end;
end else
begin
with NiceGrid1 do
begin
//GridColor := clGray;
HeaderColor := $00DF0000;
HeaderDarkColor := clBlack;
HeaderLightColor := $00FF8000;
HeaderFont.Color := clWhite;
GutterFont.Color := clWhite;
end;
end;
end;
procedure TMainForm.CheckBox3Click(Sender: TObject);
begin
NiceGrid1.FitToWidth := CheckBox3.Checked;
end;
procedure TMainForm.CheckBox4Click(Sender: TObject);
begin
NiceGrid1.AutoColWidth := CheckBox4.Checked;
end;
procedure TMainForm.CheckBox5Click(Sender: TObject);
begin
NiceGrid1.ShowGrid := CheckBox5.Checked;
end;
procedure TMainForm.FormCreate(Sender: TObject);
var
x: Integer;
begin
NiceGrid1.BeginUpdate;
for x := 0 to 9 do
begin
NiceGrid1[0, x] := 'Sample Text';
NiceGrid1[1, x] := 'Centered Text';
NiceGrid1[2, x] := 'Left Alignment';
NiceGrid1[3, x] := FormatFloat('###,###,##0.##', Random(20000000));
NiceGrid1[4, x] := IntToStr(Random(2000));
end;
NiceGrid1.EndUpdate;
CheckBox2Click(nil);
end;
procedure TMainForm.NiceGrid1DrawHeader(Sender: TObject; ACanvas: TCanvas;
Rc: TRect; Str: String; var Handled: Boolean);
begin
if (Str = 'One')
then ACanvas.Font.Color := clRed;
end;
procedure TMainForm.Button1Click(Sender: TObject);
begin
NiceGrid1.Columns[2].Visible := not NiceGrid1.Columns[2].Visible;
end;
procedure TMainForm.Button2Click(Sender: TObject);
begin
NiceGrid1.InsertRow(NiceGrid1.Row);
end;
procedure TMainForm.Button3Click(Sender: TObject);
begin
NiceGrid1.DeleteRow(NiceGrid1.Row);
end;
procedure TMainForm.NiceGrid1InsertRow(Sender: TObject; ARow: Integer);
begin
NiceGrid1.Cells[0, ARow] := 'New Row';
end;
procedure TMainForm.Button4Click(Sender: TObject);
begin
NiceGrid1.Columns[2].ReadOnly := not NiceGrid1.Columns[2].ReadOnly;
end;
procedure TMainForm.CheckBox6Click(Sender: TObject);
begin
NiceGrid1.ShowFooter := not NiceGrid1.ShowFooter;
end;
end.