procedure TForm1.DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
//Если ячейка получает фокус, то нам надо закрасить её другими цветами
if (gdFocused in State) then
begin
DrawGrid1.Canvas.Brush.Color:= clOlive;
DrawGrid1.Canvas.Font.Color:= clWhite;
end
else //Если же ячейка теряет фокус, то закрашиваем её красным или зелёным или голубым
if ACol = 1 then //третья колонка будет зелёной, другие - ячейки красными и голубыми
DrawGrid1.Canvas.Brush.color := clGreen
else
if ACol = 2 then
DrawGrid1.canvas.brush.Color := clRed
else
if ACol = 3 then
DrawGrid1.canvas.brush.Color := clblue;
//Теперь закрасим ячейки, но только, если ячейка не Title- Row/Column
//Естественно это завит от того, есть у Вас title-Row/Columns или нет.
if (ACol > 0) and (ARow > 0) then
begin
//Закрашиваем бэкграунд
DrawGrid1.Canvas.FillRect(Rect);
DrawGrid1.Font.Color:= clAqua;
//Выводим текст (Text). Также здесь можно добавить выравнивание и т.д..
if (ACol = lCol) and (ARow = lRow) then
begin
DrawGrid1.Canvas.TextOut(Rect.Left, Rect.Top, s);
s:= '';
end;
end;
end;
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids;
type
TForm1 = class(TForm)
DrawGrid1: TDrawGrid;
procedure DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
procedure DrawGrid1SetEditText(Sender: TObject; ACol, ARow: Integer;
const Value: String);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
s: string;
lCol, lRow: integer;
implementation
{$R *.dfm}
procedure TForm1.DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
//Если ячейка получает фокус, то нам надо закрасить её другими цветами
if (gdFocused in State) then
begin
DrawGrid1.Canvas.Brush.Color:= clOlive;
DrawGrid1.Canvas.Font.Color:= clWhite;
end
else //Если же ячейка теряет фокус, то закрашиваем её красным или зелёным или голубым
if ACol = 1 then //третья колонка будет зелёной , другие - ячейки красными и голубыми
DrawGrid1.Canvas.Brush.color := clGreen
else
if ACol = 2 then
DrawGrid1.canvas.brush.Color := clRed
else
if ACol = 3 then
DrawGrid1.canvas.brush.Color := clblue;
//Теперь закрасим ячейки, но только, если ячейка не Title- Row/Column
//Естественно это завит от того, есть у Вас title-Row/Columns или нет.
if (ACol > 0) and (ARow > 0) then
begin
//Закрашиваем бэкграунд
DrawGrid1.Canvas.FillRect(Rect);
DrawGrid1.Font.Color:= clAqua;
//Выводим текст (Text). Также здесь можно добавить выравнивание и т.д..
if (ACol = lCol) and (ARow = lRow) then
begin
DrawGrid1.Canvas.TextOut(Rect.Left, Rect.Top, s);
s:= '';
end;
end;
end;
procedure TForm1.DrawGrid1SetEditText(Sender: TObject; ACol, ARow: Integer;
const Value: String);
begin
s:= Value;
lCol:= ACol;
lRow:= ARow;
end;
end.
procedure TForm1.DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
//Если ячейка получает фокус, то нам надо закрасить её другими цветами
if (gdFocused in State) then
begin
DrawGrid1.Canvas.Brush.Color:= clOlive;
DrawGrid1.Canvas.Font.Color:= clWhite;
end
else //Если же ячейка теряет фокус, то закрашиваем её красным или зелёным или голубым
if ACol = 1 then //третья колонка будет зелёной, другие - ячейки красными и голубыми
DrawGrid1.Canvas.Brush.color := clGreen
else
if ACol = 2 then
DrawGrid1.canvas.brush.Color := clRed
else
if ACol = 3 then
DrawGrid1.canvas.brush.Color := clblue;
//Теперь закрасим ячейки, но только, если ячейка не Title- Row/Column
//Естественно это завит от того, есть у Вас title-Row/Columns или нет.
if (ACol > 0) and (ARow > 0) then
begin
//Закрашиваем бэкграунд
DrawGrid1.Canvas.FillRect(Rect);
DrawGrid1.Font.Color:= clAqua;
//Выводим текст (Text). Также здесь можно добавить выравнивание и т.д..
if (ACol = lCol) and (ARow = lRow) then
begin
DrawGrid1.Canvas.TextOut(Rect.Left, Rect.Top, s);
s:= '';
end;
end;
end;
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids;
type
TForm1 = class(TForm)
DrawGrid1: TDrawGrid;
procedure DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
procedure DrawGrid1SetEditText(Sender: TObject; ACol, ARow: Integer;
const Value: String);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
s: string;
lCol, lRow: integer;
implementation
{$R *.dfm}
procedure TForm1.DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
//Если ячейка получает фокус, то нам надо закрасить её другими цветами
if (gdFocused in State) then
begin
DrawGrid1.Canvas.Brush.Color:= clOlive;
DrawGrid1.Canvas.Font.Color:= clWhite;
end
else //Если же ячейка теряет фокус, то закрашиваем её красным или зелёным или голубым
if ACol = 1 then //третья колонка будет зелёной , другие - ячейки красными и голубыми
DrawGrid1.Canvas.Brush.color := clGreen
else
if ACol = 2 then
DrawGrid1.canvas.brush.Color := clRed
else
if ACol = 3 then
DrawGrid1.canvas.brush.Color := clblue;
//Теперь закрасим ячейки, но только, если ячейка не Title- Row/Column
//Естественно это завит от того, есть у Вас title-Row/Columns или нет.
if (ACol > 0) and (ARow > 0) then
begin
//Закрашиваем бэкграунд
DrawGrid1.Canvas.FillRect(Rect);
DrawGrid1.Font.Color:= clAqua;
//Выводим текст (Text). Также здесь можно добавить выравнивание и т.д..
if (ACol = lCol) and (ARow = lRow) then
begin
DrawGrid1.Canvas.TextOut(Rect.Left, Rect.Top, s);
s:= '';
end;
end;
end;
procedure TForm1.DrawGrid1SetEditText(Sender: TObject; ACol, ARow: Integer;
const Value: String);
begin
s:= Value;
lCol:= ACol;
lRow:= ARow;
end;
end.
Если Вы уже зарегистрированы на Портале - войдите в систему, если Вы еще не регистрировались - пройдите простую процедуру регистрации.