1 / 1 / 0
Регистрация: 03.06.2008
Сообщений: 40
1

Закрасить определенную ячейку StringGrid-а другим цветом

03.06.2008, 22:36. Показов 4740. Ответов 2
Метки нет (Все метки)

возможно ли сделать так: чтобы с помощью ТОЛЬКО кнопки (потомучто у меня есть цикл где копирует в ячейки стрингГрида в определенном порядке из грида) при нажатии закрасился шрифт или ячейка(без разницы) например красным цветом, определенная ячейка c использованием кода StringGrid1.Cells[2,2].
Заранее благодарю!:'(

Добавлено через 1 минуту
На Delphi 5.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.06.2008, 22:36
Ответы с готовыми решениями:

Как закрасить определённую ячейку в StringGrid
Как закрасить определённую ячейку черным цветом и чтобы в нее нельзя было вводить букву. Это для...

Как закрасить ячейку в StringGrid?
Мне необходимо чтобы при нажатии bitbtn закрашивались все ячейки в StringGrid в которых...

Закрасить ячейку в Stringgrid по клику
Такая проблема - нужно, чтобы при клике на ячейку в Stringgrid она окрашивалась в определенный цвет...

Как закрасить ячейку в StringGrid?
А как закрасить ячейку(и) в StringGrid?

2
7 / 7 / 4
Регистрация: 17.02.2007
Сообщений: 165
04.06.2008, 09:08 2
Лучший ответ Сообщение было отмечено mityi как решение

Решение

Используй событие StringGrid, называющееся OnDrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);
Узнай в цикле по столбцам и строкам (ACol, ARow), та ли это ячейка, которая тебе необходима, и проделай такое:
Delphi
1
2
3
4
StringGrid1.Canvas.Brush.Color := clAqua;
StringGrid1.Canvas.FillRect(Rect);
S:= StringGrid1.Cells[ACol, ARow];
StringGrid1.Canvas.TextOut(Rect.Left + 2, Rect.Top + 2, S);
0
1 / 1 / 0
Регистрация: 03.06.2008
Сообщений: 40
11.06.2008, 02:22  [ТС] 3
Цитата Сообщение от Ядовитый Посмотреть сообщение
Используй событие StringGrid, называющееся OnDrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);
Узнай в цикле по столбцам и строкам (ACol, ARow), та ли это ячейка, которая тебе необходима, и проделай такое:

StringGrid1.Canvas.Brush.Color := clAqua;
StringGrid1.Canvas.FillRect(Rect);
S:= StringGrid1.Cells[ACol, ARow];
StringGrid1.Canvas.TextOut(Rect.Left + 2, Rect.Top + 2, S);
все спасибо эта процедура мне не понадобилась, ну все равно спасибо что без внимания не оставили. мне нельзя было использовать OnDrawCell, потомучто я использовал для зополнения StringGridа ADOQuery. с него в цикле и забивает в ячейки, определенные уникальные номера,(может не понятно обьясняю, ну да ладно проблему то я решил!) Решил проблему таким вот образом, когда забиваются уникальные номера в ячейки стринга, в цикле я проверяю есть ли у "уникального номера" ,"код состояния", если есть записываю его в ячейку с пробелом на конце, а потом я использовал OnDrawCell, чтоб закрасить нужный "уникальный номер" я ищу пробел на конце если есть красим, если нет то не красим!
Все спасибо всем.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.06.2008, 02:22
Помогаю со студенческими работами здесь

Закрасить ячейку в Stringgrid с минимальным элементом
Доброго времени суток! Не как не могу разобраться с раскрашиванием ячеек! var ACol, ARow:...

Закрасить определенное слово в тексте другим цветом
Можно ли изменить цвет определенного в txt или rich боксах?

Как закрасить одно слово в строчке другим цветом?
Использую TextField для вывода инструкции, хотел выделить ключевые слова красным цветом. Возможно...

Как 'отрисовать' определенную строку в ListView другим цветом
Подскажите пожалуйста как 'отрисовать' определенную строку в ListView другим цветом.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru