У меня есть следующий код (присвоенный событию DrawGrid1.OnDrawCell):
procedure TForm1.DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
DrawGrid1.Canvas.Brush.Style:= bsFDiagonal;
DrawGrid1.Canvas.Brush.Color:= clSkyBlue;
DrawGrid1.Canvas.FillRect(Rect);
end;
Он всегда рисует черный фон, даже если для свойства DrawGrid1.Color задано значение clRed. Я также пытался изменить свойства Pen и Font, но безуспешно. Что я здесь пропустил?
ps: я проверил этот код: Стиль диагональной кисти дает мне черную область. Мне не удалось увидеть, в чем разница между вопросом и ответом (кроме закомментированной строки), и этот код не работает для меня, как я уже упоминал, я уже пытался изменить свойства Pen без какого-либо результата. Все, что мне нужно, это красный фон с голубыми диагональными линиями.
TCanvas.CreateBrush()
, которая устанавливает (неправильный) цвет фона для обхода ошибки в Windows 95 - возможно, это все еще там? Это портит цвет, но вы видите черный, потому что он также искажает альфа-значение. - person mghie   schedule 12.04.2015