Форум: "Начинающим";
Текущий архив: 2006.03.19;
Скачать: [xml.tar.bz2];
ВнизПрорисовка 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.013 c