Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Отображение формы и работы программы

84K
11 февраля 2013 года
Микура
15 / / 11.02.2013
Есть программа реализующая работу алгоритма.В процессе она выводит некоторые изображения на форму и после конечный результат. Если пока она работает переключиться на другое окно,то до конца выполнения форма зависает и после выдает конечный результат и то только тот,что не касается рисования.
Не знаю что с этим делать.
446
11 февраля 2013 года
Meander
487 / / 04.09.2011
Может программа зависает, уже, до переключения на другое окно? Если зависает, значит алгоритм выполняется долго и ему отводится все время. Для борьбы с этим иногда помещают алгоритм в таймер (то-есть часть времени алгоритм не будет работать - цикл будет то запускаться, то останавливаться). Что касается результата - не совсем понятно, что за изображение и что за рисование. В смысле, выведенное изображение затирается перекрывающими формами?
84K
11 февраля 2013 года
Микура
15 / / 11.02.2013
Нет,если не трогать ничего во время её выполнения она работает корректно.
Программа реализует алгоритм разделения точек на кластеры(группы) и в процессе работы рисуются линии и центры кластеров.После чего в конце точки каждого кластера окрашены в свой цвет и в листбоксе выводится проделанная работа(хотя в коде по идее вывод стоит после каждого действия предполагающего вывод информации).
А если во время работы программы даже нечаянно нажать на другое окно(не форма,просто работать с компьютером), то визуальный процесс зависает и по окончанию выполнения алгоритма выводится только текст в листбоксе
277
11 февраля 2013 года
arrjj
1.7K / / 26.01.2011
рисовать на картинке а в репеинте формы рисовать картинку на неё. + по таймеру (или по событиям в вычислениях) перерисовывать форму
И еще вычисления лучше вынести в отдельный поток или в самых больших циклах добавить обработку оконных сообщений
84K
11 февраля 2013 года
Микура
15 / / 11.02.2013
Цитата: arrjj
рисовать на картинке а в репеинте формы рисовать картинку на неё. + по таймеру (или по событиям в вычислениях) перерисовывать форму
И еще вычисления лучше вынести в отдельный поток или в самых больших циклах добавить обработку оконных сообщений



а как это сделать?

446
11 февраля 2013 года
Meander
487 / / 04.09.2011
Цитата: Микура
а как это сделать?


Смотри алгоритм двойной буферизации, примеры с использованием таймера и метода Repaint.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог