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

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

Можно ли закрасить определенным цветом [D5]


STANT ©   (2002-11-15 16:48:00) 

Нужно визуально показать пользователю, какие ячейки DBGrid не доступны для редактирования, например, выделить серым цветом. Подскажите пожалуйста, можно ли это сделать в DBGrid и если можно, то как?


Manic Mechanic   (2002-11-15 17:15:00) [1]

Можно не только раскрасить, но и че-нить нарисовать.

procedure TFKart.DBGDrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: GridDrawState);
begin
if(RxMD.RecNo in [1,4,7,10,13])then begin
if(DBG.Row=RxMD.RecNo){and(DBG2.Col=DataCol)}then begin
DBG.Canvas.Brush.Color:= clNavy;
DBG.Canvas.Font.Color:= clYellow;
end else begin
DBG.Canvas.Brush.Color:= $00E4E2CB;
DBG.Canvas.Font.Color:= clNavy;
end;
DBG.DefaultDrawColumnCell(Rect, DataCol, Column, State)
end;

if(Column.FieldName="MonthName")then begin
if(RxMD.RecNo = BARec.KSUM)then
ImList.Draw(DBG.Canvas,Rect.Left+2,Rect.Top+2,18)
else if(RxMD.RecNo = BARec.KSUM)then begin
ImList.Draw(DBG.Canvas,Rect.Left+2,Rect.Top+2,48);
end else if(RxMD.RecNo = BARec.KSUF)then
ImList.Draw(DBG.Canvas,Rect.Left+2,Rect.Top+2,48)
end;
end;


Prooksius   (2002-11-15 17:07:00) [2]

DBGridEh.OnGetCellParams


Наверх

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