2014-02-08 1 views
0

나는 응용 프로그램에서 기본 스타일 "Amethyst Kamri"를 사용했습니다. 그리고 DBgrid의 선택된 행 색상이 스타일에 따라 변경됩니다. 하지만 선택한 행의 테두리 색과 배경색을 변경하고 싶습니다. 나는 answer of following question.delphi xe2에서 선택한 행의 테두리 색과 스타일 사용 가능 DBGrid의 배경색을 변경하는 방법은 무엇입니까?

https://stackoverflow.com/a/9472000

지금 내가 색상을 변경하려면 사용하여 글꼴 스타일을 변경합니다. 이 작업을 수행하는 방법?

답변

1

먼저 Vcl.DBGrids.TDBGrid에서 TDBGrid를 상속 받아야하며 Paint 프로 시저를 재정의해야합니다. 페인트 절차에

type 
    TDBGrid = class(Vcl.DBGrids.TDBGrid) 
    protected 
    procedure Paint; override; 
    end; 

: : 이것처럼

procedure TDBGrid.Paint; 
var 
    i, X, Y: Integer; 
begin 
    inherited; 
    Y := RowHeights[0] + 1; 
    X := Width; 
    for i := 1 to Self.RowCount - 1 do 
    begin 
    Y := Y + RowHeights[i] + 1; 
    Canvas.Brush.Color := clRed; 
    Canvas.FillRect(Rect(0, Y, X, Y + 1)); 
    end; 
end; 

그리고 이것은 최종 결과입니다 : 내가 ** slected 행 **의를 변경해야

enter image description here

+0

BackGround 색상도 있습니다. – Ganesh