Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.03;
Скачать: CL | DM;

Вниз

Выделение целой строки StringGrid   Найти похожие ветки 

 
maxXP ©   (2006-11-15 17:53) [0]

Подскажите как можно реализовать выделение целой строки StringGrid в обработчике StringGrid1DrawCell.

Т.е Фокус нажали на  ячейку и вся строка поменяла цвет.

Спс


 
Jeer ©   (2006-11-15 18:05) [1]

OnDrawColumnCell

поищи по ключевому слову "разноцветный Grid"


 
MsGuns ©   (2006-11-15 22:02) [2]

>Jeer ©   (15.11.06 18:05) [1]
>OnDrawColumnCell
>поищи по ключевому слову "разноцветный Grid"

Серега, немного не в тему. И дело не в том, что StringGrid отличается от DBGrid, а в том, что нет у него DefaultDrawCell


 
ЮЮ ©   (2006-11-16 03:51) [3]


> что нет у него DefaultDrawCell

там кода-то - кот наплакал. почему бы не перенести его в  DrawCell ?

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
 Rect: TRect; State: TGridDrawState);
begin
 if ARow = TStringGrid(Sender).Row then begin
   TStringGrid(Sender).Canvas.Brush.Color := clRed;
   TStringGrid(Sender).Canvas.Font.Color := clWhite;
 end
 else begin
   // стандартные цвета
   if gdFixed in State then
     TStringGrid(Sender).Canvas.Brush.Color := TStringGrid(Sender).FixedColor
   else
     TStringGrid(Sender).Canvas.Brush.Color := TStringGrid(Sender).Color;
   TStringGrid(Sender).Canvas.Font.Color := TStringGrid(Sender).Font.Color;
 end;
  TStringGrid(Sender).Canvas.FillRect(Rect);
  TStringGrid(Sender).Canvas.TextRect(
    Rect, Rect.Left + 2, Rect.Top + 2, TStringGrid(Sender).Cells[ACol, ARow]
  );
end;

procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
 ARow: Integer; var CanSelect: Boolean);
begin
 // чтобы перерисовалась "покинутая" строка, ибо сам стринггрид
 // перерисовывает только "покинутую" ячейку
 TStringGrid(Sender).Invalidate;
end;


Работает и с в включенным по умолчанию DefaultDrawing. При отключенном теряеется 3D-шность фиксированных ячеек, ибо это делается в TCustomGrid.Paint именно если DefaultDrawing = true



Страницы: 1 вся ветка

Текущий архив: 2006.12.03;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.032 c
15-1163183862
DillerXX
2006-11-10 21:37
2006.12.03
Ведёте/вели ли вы жизненный дневник?


4-1153400668
Alek_1
2006-07-20 17:04
2006.12.03
String and PWideChar


15-1163494474
officer
2006-11-14 11:54
2006.12.03
Help


2-1163580289
Делфи
2006-11-15 11:44
2006.12.03
плейлист


2-1163532643
DoktorX
2006-11-14 22:30
2006.12.03
как из ImageList отобразить рисунок под номером 2