Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
1 / 1 / 1
Регистрация: 14.12.2010
Сообщений: 121
1

Рисование на форме, потоки

15.09.2012, 22:17. Показов 1367. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здраствуйте, хочу что бы по экрану бегали точки рисую их так
C++
1
2
3
4
5
6
   Form1->Repaint();
   Canvas->Pen->Color=TColor(RGB(rand()%255,rand()%255,rand()%255));;
   Canvas->Brush->Color=TColor(RGB(rand()%255,rand()%255,rand()%255));;
   Canvas->Ellipse(TRect(posX, posY, posX+radius, posY+radius));
   posX=posX+10;
   posY=posY+10;
Засунул эту функцию в таймер теперь точка бегает по экрану отбиваясь от краёв, хочу увеличить количество точек за счет использования большого количества таймеров. НО одновременно два таймера не хотят работать, понимаю что нужно использовать потоки, собственно вопрос как таймер засунуть в поток?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.09.2012, 22:17
Ответы с готовыми решениями:

Рисование на форме
Добрый день! Есть задачка: Разработать класс прямоугольник, создать 3 объекта, изображающие: а)...

Рисование на форме
Подскажите пожалуйста как в билдере рисовать по форме или может бить есть какието елементи,...

Рисование на форме в редакторе
Господа, есть ли возможность рисовать на форме какие-либо примитивы в режиме ее визуальной...

Рисование на форме из другого модуля
Здравствуйте, уважаемые форумчане. Я не так давно начал изучать С++, поэтому прошу объяснить мне...

4
49 / 44 / 8
Регистрация: 06.09.2010
Сообщений: 419
16.09.2012, 00:00 2
Создай несколько функций (чтобы точки по разному бегали) и в один таймер засунь. Или в несколько таймеров. ( То есть вызывай функции в каждом таймере)
Если хош узнать про потоки - рекомендую книгу А. Я. Архангельский, М. А.Тагин - Программирование в C++ Builder 6 и 2006. Тут есть про потоки, как их создавать и прочее.
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
16.09.2012, 01:24 3
Цитата Сообщение от Neon-z Посмотреть сообщение
Если хош узнать про потоки - рекомендую книгу А. Я. Архангельский, М. А.Тагин - Программирование в C++ Builder 6 и 2006. Тут есть про потоки, как их создавать и прочее.
Там про WinApi потоки...

А в Архангельском 7-издании там про класс TThread он практичнее для Builder-а

Добавлено через 15 минут
Кстати не вижу в приведенном коде реализацию "отбивания от краёв"
0
1 / 1 / 1
Регистрация: 14.12.2010
Сообщений: 121
16.09.2012, 15:03  [ТС] 4
Уже решил проблему, разобравшись с потоками но потом от них отказался, только вот как можно удалить предыдущую точку и нарисовать новую, для этого использовал
C++
1
Form1->Repaint();
, но это не удобно, потом придумал запоминать координату предыдущей точки рисовать новую и предыдущую точку закрашивать цветом фона, но что делать если вместо фона будет картинка?
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
16.09.2012, 16:36 5
Перирисовывай каждый раз фон перед передвижением...
0
16.09.2012, 16:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.09.2012, 16:36
Помогаю со студенческими работами здесь

OpenCV, рисование гистограммы изображение используя потоки
Необходимо создать приложение, вычисляющее гистограмму изображения с указанной...

Потоки в форме
Нажимаю на кнопку - все хорошо, поток отрабатывает, второй раз нажимаю на кнопку - никакой...

рисование в форме
У меня такое задание... при нажатии на кнопку на форме должны появляться круги в произвольном...

Рисование на форме
Хочу нарисовать несколько линий на форме: private void mainForm_Paint(object sender,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru