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

Вниз

Прорисовка StringGrid   Найти похожие ветки 

 
Make   (2006-02-28 15:49) [0]

Подскажите, как в стринггриде изменить цвет у всех ячеек в строке?


 
Make   (2006-02-28 16:02) [1]

Я использую OnDrawCell, но она рисует только сфокусированную ячейку  if нужная строка then
 begin
   StringGrid1.Canvas.Brush.Color := clYellow;
   StringGrid1.canvas.FillRect(Rect);
   StringGrid1.canvas.TextOut(Rect.Left +2, Rect.Top +2, sgrResults.Cells[ACol,ARow]);
 end;
:


 
Make   (2006-02-28 16:55) [2]

очему не работает такой код:
procedure TIndexMainForm.sgrResultsDrawCell(Sender: TObject; ACol,
 ARow: Integer; Rect: TRect; State: TGridDrawState);
var
 TempIdx: Integer;
begin
 if (ACol<1) or (ARow<1) then
   Exit;

 if ResultArray[ARow-1].Idling then  // если заменить на
                                                //if ARow=2 then  то работает
 begin
   sgrResults.Canvas.Brush.Color := clYellow
   sgrResults.canvas.FillRect(Rect);
   sgrResults.canvas.TextOut(Rect.Left +2, Rect.Top +2, sgrResults.Cells[ACol,ARow]);
 end;

end;


 
umbra ©   (2006-02-28 17:15) [3]


> ResultArray[ARow-1].Idling

а что это? вообще приведенный код может не давать ожидаемых результатов потому, что условие не выполняется


 
Make   (2006-02-28 17:19) [4]

событие OnDrawCell вызывается при прорисовке всех ячеек попорядку? Т.е. например при наведении фокуса на стринггрид заново перерисовываются все ячейки?


 
antonn ©   (2006-02-28 17:29) [5]

для каждой ячейки вызывается персонально. в Rect: TRect; передается область, которая перерисовывется.
если строка "стабильно одна и та же", тогда можно воспользоваться case

case Arow of
0: begin
sgrResults.Canvas.Brush.Color := clYellow
  sgrResults.canvas.FillRect(Rect);
  sgrResults.canvas.TextOut(Rect.Left +2, Rect.Top +2, sgrResults.Cells[ACol,ARow]);
end;
end;



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

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

Наверх




Память: 0.48 MB
Время: 0.058 c
2-1141399184
Handle
2006-03-03 18:19
2006.03.19
Как завершить системныЙ процесс?


3-1138254928
syte_ser78
2006-01-26 08:55
2006.03.19
аналог экселевской группировки


3-1138078415
FunkyByte
2006-01-24 07:53
2006.03.19
Ошибка при запросе SELECT в ADODataSet


15-1140878394
Ega23
2006-02-25 17:39
2006.03.19
С Днём рождения! 24 февраля


2-1141060133
myself
2006-02-27 20:08
2006.03.19
Delphi 16-bit complile