| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > подстветка строки в StringGrid |
| Автор: freshAngel 2.2.2009, 16:07 | ||
| Привет. Пробую сделать, чтобы при нажатии на ячейку StringGrid'a закрашивалась вся строка. Например цвет первой строки по умолчанию белый. Щелкаю на ячейку первая строка окрасилась, например в желтый. Щелкаю на вторую строку таблицы. Теперь она окрасилась в желтый, а остальные строки стали белыми. Делаю так: В событии OnDrawCell StringGrid'a:
Интересует два вопроса: Правильный это метод окрашивания строки, или нет!? Как этому событию передать ссылку (номер) на строку которую я выбрал и которую нужно окрасить!? |
| Автор: taiven 2.2.2009, 17:32 | ||
|
| Автор: freshAngel 2.2.2009, 20:50 |
| taiven, большущее человеческое спасибо! |
| Автор: freshAngel 3.2.2009, 21:06 | ||
| Все гуд! Только вот при таком методе подсветки строки, текст в ячейках нулевого столбца все время затирается.
Просто желтая ячейка. Это наверное связано с тем, что метод перерисовки Invalidate() для StringGrid'а вызывается в свойстве onSelectCell, поэтому когда "побегаешь" по остальным ячейкам таблицы, тест в ячейках нулевого столбца тоже видно. Или просто C++ Builder пытается выделить синим ячейку!? Как можно это исправить!? Что - бы строка подсвечивалась как нужно и был виден текст в ячейках. |
| Автор: taiven 3.2.2009, 21:57 |
| прикрепи лучше скрин, а то так не совсем понятно, что ты имеешь в виду. |
| Автор: freshAngel 3.2.2009, 22:15 | ||
Конечно. Это начальное состояние грида, при запуске программы. http://ipicture.ru/Gallery/Viewfull/12733596.html А вот, если побегать по ячейкам таблицы. http://ipicture.ru/Gallery/Viewfull/12733680.html Такая "затирка" текста происходят на выделенной в данный момент ячейки, если "побегать" по остальным ячейкам грида, все отрисовывается нормально. |
| Автор: taiven 4.2.2009, 01:29 | ||
|
| Автор: freshAngel 7.2.2009, 21:57 |
| Спасибо. Теперь все работает! |