안녕하세요
제가 질문을 제대로 이해했는지 모르겠군요
먼저 특정셀을 클릭했을때 셀의 색깔과 글자색이 변하는걸 말씀하신다면..
다음과 같이 하시면 되고요
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
with TStringGrid(Sender).Canvas do
begin
if (gdSelected in State) then
begin
Brush.Style := bsSolid;
Brush.Color := $00B0FFFF;
Rectangle(Rect);
Font.Color := clRed;
TextOut(Rect.Left+5, Rect.Top+5, TStringGrid(Sender).Cells[ACol, ARow]);
end;
end;
end;
만약에 어느 특정셀에 대해서 예를들어 cell(1,1)에 대해서만,
셀 색깔을 빨강, 그리고 글자는 파랑으로 하시고 싶으시면 다음과 같이 하시면 됩니다.
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
RowNumber : Integer;
begin
with StringGrid1 do
begin
Rect := StringGrid1.CellRect(1,1);
Canvas.Brush.Color := clRed;
Canvas.FillRect(Rect);
Canvas.Font.Color := clBlue;
canvas.TextRect(Rect, Rect.Left, Rect.Top, cells[1,1]);
end;
end;
제가 질문을 제대로 이해했는지 모르겠군요
먼저 특정셀을 클릭했을때 셀의 색깔과 글자색이 변하는걸 말씀하신다면..
다음과 같이 하시면 되고요
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
with TStringGrid(Sender).Canvas do
begin
if (gdSelected in State) then
begin
Brush.Style := bsSolid;
Brush.Color := $00B0FFFF;
Rectangle(Rect);
Font.Color := clRed;
TextOut(Rect.Left+5, Rect.Top+5, TStringGrid(Sender).Cells[ACol, ARow]);
end;
end;
end;
만약에 어느 특정셀에 대해서 예를들어 cell(1,1)에 대해서만,
셀 색깔을 빨강, 그리고 글자는 파랑으로 하시고 싶으시면 다음과 같이 하시면 됩니다.
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
RowNumber : Integer;
begin
with StringGrid1 do
begin
Rect := StringGrid1.CellRect(1,1);
Canvas.Brush.Color := clRed;
Canvas.FillRect(Rect);
Canvas.Font.Color := clBlue;
canvas.TextRect(Rect, Rect.Left, Rect.Top, cells[1,1]);
end;
end;
그럼 수고하세요.