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

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

Текущая запись при раcкраске dbgrida [D6]


dim- ©   (2004-06-21 02:45:00) 

Вставляю картинку в DBGrid:
procedure Tmain.RxDBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
 DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if DataCol=0 then begin
   if  gdSelected in State then begin
       if (DataModule1.spisok.FieldByName('podr').AsBoolean)then
     ImageList1.Draw(TRxDBGrid(Sender).Canvas,Rect.Left+1,Rect.Top+1, 5 );
   end else begin
       if (DataModule1.spisok.FieldByName('podr').AsBoolean)then
     ImageList1.Draw(TRxDBGrid(Sender).Canvas,Rect.Left+1,Rect.Top+1, 1);
   end;
end;

Все работает, только хотелось бы у текущей записи рисовать другую картинку. Свойство State дает результат только если стоишь непосредственно на первой колонке (в моем случае), а хотелось бы знать что данная запись активна не зависимо на какой колонке стоишь.


ЮЮ   (2004-06-21 03:49:00) [1]

Надо анализировать не State, а сравнивать значения ключевого поля рисуемой записи и текущей. (Значение ключевого поля текущей записи можно, например, сохранить в DataSet.Tag в AftrerSсroll последнего)


Наверх

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