Главная страница
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.062 c
15-1163406200
Станислав
2006-11-13 11:23
2006.12.03
WinAPI программист


15-1163252014
antonn
2006-11-11 16:33
2006.12.03
опять про пхп (а может и нет...)


2-1163146600
maxistent
2006-11-10 11:16
2006.12.03
Ресурсы


15-1163512415
Александр Иванов
2006-11-14 16:53
2006.12.03
По XPath кто-нибудь подскажет?


9-1139200943
MadAngel
2006-02-06 07:42
2006.12.03
Японский кроссворд