![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Раскрашивание DBGridEh
Ega23 © (2006-01-18 11:15:00)есть вот такой простенький код:
procedure TFMain.dbgAgeCategoriesGetCellParams(Sender: TObject;
Column: TColumnEh; AFont: TFont; var Background: TColor;
State: TGridDrawState);
var
ds:TDataSet;
begin
ds:=DMClient.aqAgeCategories;
AFont.Name:=ds.FieldByName('FontNam').AsString;
AFont.Size:=ds.FieldByName('FontSize').AsInteger;
AFont.Style:=SetFontStyle(ds.FieldByName('FontStyle').AsInteger);
if (gdSelected in State) or (gdFocused in State) then
begin // Âûäåëåíèå
Background:=ds.FieldByName('SelectColor').AsInteger;
AFont.Color:=ds.FieldByName('SelectFontColor').AsInteger;
end
else
begin // Íåò âûäåëåíèÿ
Background:=ds.FieldByName('BackgrndColor').AsInteger;
AFont.Color:=ds.FieldByName('FontColor').AsInteger;
end;
end;
Всё отлично и правильно отрисовывается, пока ячейка не становится выделенной (а точнее - не получает фокус). После получения фокуса Background один хрен становится цвета clHighlight, а цвет фонта - clHighlightText.
Неужели их надо менять на момент рисования???
Ega23 (2006-01-18 11:31:00) [1]
> В общем-то, логично,
совсем не логично.
Aleksandr. (2006-01-18 11:29:00) [2]Для выделенного у него зашит цвет. В общем-то, логично, так что лезь в исходник.