|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
28.12.2012, 21:42 | #1 |
Пользователь
Регистрация: 28.12.2012
Сообщений: 14
|
--== Кнопки "Старт" "Стоп" ==--
Доброго времени суток,
как сделать так, чтобы при нажатии на кнопку начиналось цикличное действие (рисование например) и продолжалось бы пока не будет нажата другая кнопка. Грубо говоря, как сделать "Старт", "Стоп". Мне предлагали многопоточность, но не понятно как реализовать, что подскажете? |
28.12.2012, 22:07 | #2 |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
Как обычно. Пишется функция потока. В ней цикл. В цикле идет какое-то действие.(рисование например). В цикле также можно проверять какой-нибудь boolean флаг. Если он сброшен - выход из цикла. Функция потока закончилась, поток завершен.
Поток можно прибить и напрямую, но не желательно. Реализовать на winapi CreateThread. А если в дотнет, тогда System.Threading.Thread. |
28.12.2012, 22:11 | #3 | |
Пользователь
Регистрация: 28.12.2012
Сообщений: 14
|
Цитата:
|
|
28.12.2012, 22:33 | #4 |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
Не ручаюсь за всякие си-билдеры,
но условно так: Код:
|
28.12.2012, 23:30 | #5 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Код:
|
28.12.2012, 23:52 | #6 | |
Пользователь
Регистрация: 28.12.2012
Сообщений: 14
|
Цитата:
|
|
28.12.2012, 23:54 | #7 |
Пользователь
Регистрация: 28.12.2012
Сообщений: 14
|
Интересно... но можно немного по-подробнее, если тело do будет выполняться по нажатию кнопки, то тогда она никогда не отвиснет?
|
29.12.2012, 00:13 | #8 | |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
Цитата:
Если в каком-то потоке использовать свойства, методы, события объекта созданного в другом потоке, то нужно быть готовым к любым неожиданностям. Можно посоветовать рисовать только функциями GDI и с этого момента называть "канву формы" - умным словом Device Context |
|
29.12.2012, 00:19 | #9 | |
С++, Delphi
Форумчанин
Регистрация: 24.11.2012
Сообщений: 495
|
Цитата:
то вам подойдёт TThread у него есть метод синхронизе.. синхронизация с формой и пожалуйста. Код:
Если помог, тут весы есть , Вам не сложно, а мне приятно.
|
|
29.12.2012, 00:34 | #10 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создать класс "Фигура", от него наследованием создать 3 класса ("треугольник", "четырехугольник", "окружность") | funnyy | Помощь студентам | 3 | 17.10.2012 17:40 |
Вывести название соответствующей карты вида "шестерка бубен", "дама червей","туз треф" и т.п. | воваава | Помощь студентам | 3 | 01.12.2011 12:50 |
Как "повесить " передачу данных из формы на событие нажатия кнопки типа "button" ? | vedro-compota | JavaScript, Ajax | 10 | 14.12.2010 21:05 |
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" | aleksei78 | Microsoft Office Excel | 13 | 25.08.2009 12:04 |