Вопрос № 122376: Уважаемые эксперты! Имеется таблица StringGrid, в ней строк больше, чем в окне отображения (т.е. имеется вертикальный скроллинг). Например, в таблице 1000 строк, но отображается только 20 из них. Хочу в ячейках рисовать с использованием канвы. Однако...
Вопрос № 122.376
Уважаемые эксперты! Имеется таблица StringGrid, в ней строк больше, чем в окне отображения (т.е. имеется вертикальный скроллинг). Например, в таблице 1000 строк, но отображается только 20 из них. Хочу в ячейках рисовать с использованием канвы. Однако нет смысла рисовать на невидимых в данный момент ячейках. Как определить, видима ли в ячейка? С учетом скроллинга, конечно.
Спасибо
Отвечает: Selya
Здравствуйте, Шукайло В.Б.!
Вообще то для отображения данных из DB используется DBGrid. Но не это главное.
Рисовать в ячейкаж возможно используя событие OnDrawXXX (OnDrawDataCell, OnDrawColumnCell). Следовательно, если ячейка невидима, то на ней и не рисуется ничего. Как только эта ячейка становится видима - возникает событие OnDrawXXX и вызывается ваш код. Ваши опасения напрасны.
Ответ отправил: Selya (статус: 7-ой класс)
Ответ отправлен: 09.02.2008, 21:49