![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Всем привет) Как сделать чтобы цвет текста в выделенной ячейке DBGrid менялся на clblack к примеру? Нужно обрабатывать событие
Код:
dbgrid1DrawColumnCell |
#2
|
|||
|
|||
![]() зы возможно остались "лишние" переменные,т.к. код взял от своего старого проекта ,но главная задача - раскрашивание, работает норм.
Код:
var ... Mrow,Mcol:integer;//глобальные ... procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); begin if (((Acol=0)and(Mrow=Arow))or(Acol=Mcol))and((Arow=Mrow)or((Arow=0)and(MCol=Acol))) then begin //StringGrid1.Canvas.Brush.Color := clSkyBlue; //StringGrid1.Canvas.FillRect(Rect); StringGrid1.Canvas.Font.Color:=clRed; StringGrid1.Canvas.TextOut(Rect.Left+2, Rect.Top+2, StringGrid1.Cells[ACol, ARow]); end; end; //////////////// procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer; var CanSelect: Boolean); begin Mcol:=Acol; Mrow:=Arow; form1.StringGrid1.Repaint; end; |
#3
|
|||
|
|||
![]() тьфу блин,опять лажаю,у вас DBGrid а не Stringgrid. сорри
|
#4
|
|||
|
|||
![]() с DbGrid'ом всё проще оказалось =)
Код:
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); begin if (gdFocused in State) then //имеет ли ячейка фокус? DBGrid1.Canvas.Font.Color := clred; DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State) end; |