Как закрасить одну ячейку матрицы или одну строку(столбец) в какой-либо цвет?..
Зарание спасибо...
Builder, StringGrid |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.
Builder, StringGrid |
Fanat |
Сообщение
#1
|
Fanat Группа: Пользователи Сообщений: 261 Пол: Мужской Реальное имя: Сергей Репутация: 5 |
Как закрасить одну ячейку матрицы или одну строку(столбец) в какой-либо цвет?..
Зарание спасибо... |
volvo |
Сообщение
#2
|
Гость |
Обрабатывать событие OnDrawCell:
void __fastcall TForm1::StringGrid1DrawCell(TObject *Sender, int ACol, |
Fanat |
Сообщение
#3
|
Fanat Группа: Пользователи Сообщений: 261 Пол: Мужской Реальное имя: Сергей Репутация: 5 |
Обрабатывать событие OnDrawCell: void __fastcall TForm1::StringGrid1DrawCell(TObject *Sender, int ACol, Че то я не особо понял...как мне в проге сделать... if (x=y) то ячейку x,y в красный цвет...? |
volvo |
Сообщение
#4
|
Гость |
Нет...
Для каждой отрисовываемой ячейки вызывается событие OnDrawCell... Вот в нем и проверяешь, если номер строки, в которой находится та ячейка, что отрисовывается сейчас (ARow) равен номеру строки, которую ты хочешь закрасить другим цветом, то закрашиваешь, иначе этап смены цвета пропускается. |
Fanat |
Сообщение
#5
|
Fanat Группа: Пользователи Сообщений: 261 Пол: Мужской Реальное имя: Сергей Репутация: 5 |
Нет... Для каждой отрисовываемой ячейки вызывается событие OnDrawCell... Вот в нем и проверяешь, если номер строки, в которой находится та ячейка, что отрисовывается сейчас (ARow) равен номеру строки, которую ты хочешь закрасить другим цветом, то закрашиваешь, иначе этап смены цвета пропускается. Это понял...пасиб... А если матрица уже нарисована...и требуеться при определенном уловии как-то выделить какой-либо столбец (строку) без новой прорисовки матрицы это возможно?.. |
volvo |
Сообщение
#6
|
Гость |
Builder не установлен, проверить не могу, но для Дельфей все делается просто. На форме - TStringGrid, TButton и TEdit... По нажатию кнопки строка с тем номером, который введен в TEdit в гриде меняет цвет на красный... Причем перерисовывается только одна строка грида (для перерисовки столбца вызывать InvalidateCol, для перерисовки отдельной ячейки - InvalidateCell). Вот код:
type |
Текстовая версия | 7.10.2024 8:30 |