Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.029 c
15-1163602446
Energizer
2006-11-15 17:54
2006.12.03
Кому-нибудь приходилось иметь дело с ВКТ-7 ?


2-1163253797
C@N
2006-11-11 17:03
2006.12.03
Ключи реестра на автозапуск программы


2-1163602406
maxXP
2006-11-15 17:53
2006.12.03
Выделение целой строки StringGrid


2-1163737455
Steep
2006-11-17 07:24
2006.12.03
Строки


4-1153410020
Alek_1
2006-07-20 19:40
2006.12.03
Как программно включить ActiveDesktop?




   Наверх