知/Delphi

DBGrid 선택된 셀 전체에 색 넣기.

채수욱 2009. 9. 4. 23:10

Options.RowSelect = True로 설정.

OnDrawColumnCell 이벤트에 다음을 기록.

 

    with TDBGrid(Sender) do
    begin
        if ((State = [gdSelected, gdFocused])or(State = [gdSelected]))or 
           (SelectedRows.CurrentRowSelected) then begin
           Canvas.Brush.Color := clRed;
           Canvas.Font.Color := clWhite;
           Canvas.FillRect(Rect);
           canvas.TextRect(Rect, Rect.Left + 2, Rect.Top + 2, Column.Field.AsString);
        end;
     end;

 

그냥 스크롤 돌리면 문제가 좀 있음. 개선필요.