IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Builder, StringGrid
сообщение
Сообщение #1


Fanat
***

Группа: Пользователи
Сообщений: 261
Пол: Мужской
Реальное имя: Сергей

Репутация: -  5  +


Как закрасить одну ячейку матрицы или одну строку(столбец) в какой-либо цвет?..
Зарание спасибо...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Builder не установлен, проверить не могу, но для Дельфей все делается просто. На форме - TStringGrid, TButton и TEdit... По нажатию кнопки строка с тем номером, который введен в TEdit в гриде меняет цвет на красный... Причем перерисовывается только одна строка грида (для перерисовки столбца вызывать InvalidateCol, для перерисовки отдельной ячейки - InvalidateCell). Вот код:

type
TFakeStringGrid=class(TStringGrid);

procedure TForm1.Button1Click(Sender: TObject);
begin
TFakeStringGrid(StringGrid1).InvalidateRow(StrToInt(Edit1.Text));
end;

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
if ARow=StrToInt(Edit1.Text) then
StringGrid1.Canvas.Brush.Color := clRed;

If (ACol > 0) and (ARow>0) then begin
StringGrid1.canvas.fillRect(Rect);
StringGrid1.canvas.TextOut(Rect.Left,Rect.Top,StringGrid1.Cells[ACol,ARow]);
end;

end;
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 22.01.2022 3:17
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name