Форум: "Основная";
Текущий архив: 2004.07.11;
Скачать: [xml.tar.bz2];
ВнизStringGrid Найти похожие ветки
← →
zep (2004-06-30 18:31) [0]привет всем.
begin
if (gdFocused in State) then begin
begin
if (gdFocused in State) then begin
StringGrid1.Canvas.Brush.Color := clred;
StringGrid1.Canvas.Font.Color := clred;
StringGrid1.canvas.fillRect(Rect);
end;
при испальзовании данного кода в StringGrid ячейка где фокус закрашивается красным, а как сделать чтобы при нажатии на другую ччейку закрашивалась и предыдущая и та на которой фокус.
зарание спасибо.
← →
Алхимик © (2004-06-30 18:36) [1]
> begin
> if (gdFocused in State) then begin
> begin
> if (gdFocused in State) then begin
> StringGrid1.Canvas.Brush.Color := clred;
> StringGrid1.Canvas.Font.Color := clred;
> StringGrid1.canvas.fillRect(Rect);
> end;
Вторая проверка для того чтоб спокойнее было?
:)
> при испальзовании данного кода в StringGrid ячейка где фокус
> закрашивается красным, а как сделать чтобы при нажатии на
> другую ччейку закрашивалась и предыдущая и та на которой
> фокус.
Заноси в ячеёку информацию о том что кликнул на неё, при прорисовке анализируй...
← →
zep (2004-06-30 18:40) [2]а по подробней можно
← →
wisekaa © (2004-06-30 18:41) [3]Сформулируй вопрос по другому!
Вот код который закрашивает всю строку, в которой находиться выделенная ячейка.
procedure TForm.GridDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
if (not (gdFixed in AState)) and (ACol > Grid.FixedCols-1) and (ARow = Grid.Row) and
(ACol <> Col) then Grid.Canvas.Brush.Color:=clRed;
end;
(ACol <> Col) - текущая ячейка стандартная подсветка.
← →
zep (2004-06-30 18:46) [4]мне надо чтобы все ячейки на которые кликал пользователь остовались закрашеные
← →
wisekaa © (2004-06-30 18:50) [5]
> zep (30.06.04 18:46)
> мне надо чтобы все ячейки на которые кликал пользователь
> остовались закрашеные
procedure TForm.GridSelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
begin
Grid.Objects[ACol,ARow] := TObject(1);
end;
procedure TForm.GridDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
if Grid.Objects[ACol,ARow] <> nill then
if Integer(Grid.Objects[ACol,ARow]) = 1 then Grid.Canvas.Brush.Color:=clRed;
end;
Дальше на сколько фантазии хватит
← →
zep (2004-06-30 20:20) [6]а можно подрабнее просто с объектами еще неработал недавно delphi"ю юзать начал.
С делал как предложил wisekaa © (30.06.04 18:50) [5]
но чтото не работает.
← →
wisekaa © (2004-06-30 20:31) [7]procedure TForm1.GridDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
if Grid.Objects[ACol,ARow] <> nil then
if Integer(Grid.Objects[ACol,ARow]) = 1 then begin
Grid.Canvas.Brush.Color:=clRed;
Grid.Canvas.FillRect(Rect);
end;
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.07.11;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.037 c