...
implementation
type
TFiveStr = record
tleft, tright: string;
middle : string;
bleft, bright: string;
end;
TFiveStrArray = array of TFiveStr;
var
FiveArray: TFiveStrArray;
procedure TForm1.FormCreate(Sender: TObject);
var
i: Integer;
begin
with StringGrid1 do
begin
ColCount:= 3;
RowCount:= 6;
for i:= FixedCols to ColCount-1 do ColWidths[i] := 100;
for i:= FixedRows to RowCount-1 do RowHeights[i]:= 65;
if FixedRows = 1 then
Rows[0].CommaText:= 'Columna1,Columna2,Columna3';
SetLength(FiveArray, RowCount + FixedRows);
for i:= Low(FiveArray)+FixedRows to High(FiveArray) do
begin
FiveArray[i].tleft := Format('izq_arr %d',[i]);
FiveArray[i].tright:= Format('der_arr %d',[i]);
FiveArray[i].middle:= Format('centro: %d',[i]);
FiveArray[i].bleft := Format('izq_abj %d',[i]);;
FiveArray[i].bright:= Format('der_abj %d',[i]);;
end;
end;
end;
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
with Sender as TStringGrid do
if (ACol = 1)and not(gdFixed in State) then
begin
Canvas.FillRect(Rect);
DrawText(Canvas.Handle, PChar(FiveArray[ARow].tleft) , -1, Rect, DT_SINGLELINE+DT_LEFT+DT_TOP);
DrawText(Canvas.Handle, PChar(FiveArray[ARow].tright), -1, Rect, DT_SINGLELINE+DT_RIGHT+DT_TOP);
DrawText(Canvas.Handle, PChar(FiveArray[ARow].middle), -1, Rect, DT_SINGLELINE+DT_CENTER+DT_VCENTER);
DrawText(Canvas.Handle, PChar(FiveArray[ARow].bleft) , -1, Rect, DT_SINGLELINE+DT_LEFT+DT_BOTTOM);
DrawText(Canvas.Handle, PChar(FiveArray[ARow].bright), -1, Rect, DT_SINGLELINE+DT_RIGHT+DT_BOTTOM);
end;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
SetLength(FiveArray, 0);
end;