Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Раскрашивание 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]

Для выделенного у него зашит цвет. В общем-то, логично, так что лезь в исходник.


Наверх

Титульная страница Поиск, карта сайта Написать письмо