Вверх ↑
Этот топик читают: Гость
Ответов: 146
Рейтинг: 1
#1: 2015-12-23 15:50:37 ЛС | профиль | цитата
Доброго времени суток всем.
Не могу разобраться с рисованием в программе.
Хотел реализовать код что при нажатие кнопки на экране появятся три квадрата (в будущем количество квадратов на экране будет около сотни).

В компоненте Img_Rectangle я поставил чтобы он рисовал по одной точке (крайняя верхняя левая), ширина и высота. Начальные точки пока задаю через список, перебор массива и кнопку. Ширина и высота везде одинаковы. Но что-то где-то не так идет.. Помогите пожалуйста разобраться?

code_36672.txt
карма: 0

0
файлы: 1code_36672.txt [935B] [236]
Ответов: 9906
Рейтинг: 351
#2: 2015-12-23 16:58:30 ЛС | профиль | цитата
Установи ClearBeforeDraw=False

карма: 9

0
Ответов: 2272
Рейтинг: 677
#3: 2015-12-23 17:00:33 ЛС | профиль | цитата
legandox, у компонента PaintBox свойство ClearBeforeDraw = True, что и приводит к стиранию нарисованных вами прямоугольников.
При таком подходе как у вас нужно делать так:
1. Очистили doClear.
2. Нарисовали.
3. Сделали doRefresh.
* свойство ClearBeforeDraw должно быть False.
Схема: code_36673.txt
Можно и так:
1. Делаем doRefresh, а включенное свойство ClearBeforeDraw = True сделает перед отрисовкой очистку.
2. Рисуем все необходимое после onBeforeDraw.
Схема:
code_36674.txt
Во втором способе отрисовка будет происходить не только при doRefresh, но и при каждом обновлении окна на котором находится PaintBox. Тоесть когда система "скажет" окну вашей программе, что нужно обновить то что на ней находится, произойдет onBeforeDraw и все будет перерисовано. Что и видно при загрузки программы.
------------ Дoбавленo в 16.24:
Galkov писал(а):
Установи ClearBeforeDraw=True
Нужно установить False.
карма: 11

1
файлы: 2code_36673.txt [1KB] [376], code_36674.txt [965B] [410]
Голосовали:legandox
Ответов: 9906
Рейтинг: 351
#4: 2015-12-23 17:10:29 ЛС | профиль | цитата
sla8a писал(а):
Нужно установить False
Угу. Рука дрогнула
карма: 9

0
Ответов: 146
Рейтинг: 1
#5: 2015-12-24 00:54:06 ЛС | профиль | цитата
Всем большое спасибо!
карма: 0

0
5
Сообщение
...
Прикрепленные файлы
(файлы не залиты)