| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Tdrawgrid |
| Автор: svarogik 25.7.2006, 22:13 |
| у меня в с помощью объекта TdrawGrid и матрицы прорисовывается карта, но при прокрутке объекта начинает глючить, и не рисует то что за экраном, вместо нужных картинок вообще ничего не прорисовывает. прорисовка на событии onDrawcell Добавлено @ 22:15 alexeis1 надеюсь на твою помощь, ты помнишь, что ты мне советовал? Добавлено @ 22:16 вот первый том |
| Автор: svarogik 25.7.2006, 22:17 |
| вот второй, прокручивайте и увидите ошибку |
| Автор: Snowy 25.7.2006, 23:04 |
| А он и не должен рисовать "за экраном" Рисуется только видимая в данный момент область. |
| Автор: svarogik 25.7.2006, 23:07 |
| ты скачай и посмотри, я понимаю что за экраном не должен, но когда я прокручиваю в область которая невидима, она становится видимой, но на ней все равно ничего не рисуется |
| Автор: Snowy 25.7.2006, 23:22 |
| Код отрисовки давай. Видимо что-то напутано с координатами. |
| Автор: svarogik 26.7.2006, 10:14 | ||||
во, переменные netprs,p1,p2 нужны для того чтоб при прорисовке учитывалась ширина и длина сетки Добавлено @ 10:20
еще вот |
| Автор: Alexeis 26.7.2006, 10:29 |
| svarogik, я и без кода вижу, что не возникает события onDrawCell при прокрутке, а это уже какой-то баг в компоненте. |
| Автор: svarogik 26.7.2006, 10:35 |
| я это тоже вижу, но мне бы хотелось чтоб возникал, что нибудь сделать можно? |
| Автор: Alexeis 26.7.2006, 10:44 | ||||
| Я ошибся это ошибка где-то в коде прорисовки Вот простой пример, который отлично работает при прокрутке, и при этом ничего не стирается, а прокрученные ячейки нормально обновляются
Добавлено @ 10:47 В чем смысл?
Добавлено @ 10:49 Зачем таким жутким образом считать координаты точки! Есть же значения r.Top и значение r.Left? |
| Автор: svarogik 26.7.2006, 10:52 | ||||
| я знаю про все это, пока просто не исправил, тут дело в другом, у тебя рисуются просто квадратики цветные, а у меня картинки Добавлено @ 10:55
Зачем?
вот так нельзя? |
| Автор: Snowy 26.7.2006, 11:01 |
| Не имеет значения, что рисовать. Ты просто неправильно считаешь координаты. И не так считаешь. И незачем их вообще считать - тебе уже всё дано. |
| Автор: svarogik 26.7.2006, 11:01 | ||||
а можно чтоб было так, и в этот квадратик рисовалась картинка из ImageList? Добавлено @ 11:09
я вот так сделал, но из-за того что сеточка обладает собственной шириной у меня чем дальше от верхнего левого угла, тем дальше в каждой клеточке рисуется картинка |
| Автор: Alexeis 26.7.2006, 11:20 | ||
Вот и с рисунком
|
| Автор: svarogik 26.7.2006, 11:32 |
| круто, спасибо |