2022년 6월 14일 화요일

[TMS] TAdvStringGrid function introduction - How to specify cell item data color

 image.png

TAdvStringGrid에 입력된 데이터 종류에 따라 폰트 색상을 지정 하는 방법에 대한 샘플 입니다.

값을 양수와 음수로 구별하여 각기 다른 색상을 지정 하게 하였고 앱이 실행된 런타임 상태에서도 색상을 변경 할 수 있게 합니다.

TAdvStringGrid 의 OnGetCellColor 메소드가 사용 되었습니다.



procedure TForm1.Button1Click(Sender: TObject);

var

  i, j: Integer;

begin

  for i := 1 to AdvStringGrid1.RowCount - 1 do

    for j := 1 to AdvStringGrid1.ColCount - 1 do

      AdvStringGrid1.Ints[j, i] := Random(1000) - 500;

end;


procedure TForm1.AdvStringGrid1GetCellColor(Sender: TObject; ARow, ACol: Integer; AState: TGridDrawState; ABrush: TBrush; AFont: TFont);

begin

  if AdvStringGrid1.Cells[ACol, ARow] <> '' then

    if AdvStringGrid1.Ints[ACol, ARow] < 0 then

    begin

      ABrush.Color := ColorGrid2.BackgroundColor;

      AFont.Color := ColorGrid2.ForegroundColor;

    end

    else

    begin

      Abrush.Color := Colorgrid1.BackgroundColor;

      AFont.Color := Colorgrid1.ForegroundColor;

      AFont.Style := [fsBold];

    end;

end;


procedure TForm1.ColorGrid1Change(Sender: TObject);

begin

  AdvStringGrid1.Invalidate;

end;


procedure TForm1.FormCreate(Sender: TObject);

begin

  Button1Click(Sender);

end;



댓글 없음:

댓글 쓰기