Извиняюсь за дилетантство, т.к. грызу VB6 самостоятельно.
Кратко о программе. Считываются данные из DXF файла (линии, дуги, окружности, полилинии), апроксимируются отрезками, затем формируются замкнутые контура, анализируется вложенность, производится разбивка внешней или внутренней области на трапеции и т.д. и т.п.
Вся работа программы иллюстрируется выводом графики в PictureBox с использованием методов Line, Circler, Pset и API функции Polygon.
Существующие проблемы:
1. При интенсивном выводе графических элементов отображение происходит рывками (порциями), некоторые этапы не успевают отобразиться. Использование метода Refresh не помогает, а применение функции DoEvents сильно замедляет работу, если она применяется внутри циклов и мало помогает, если вне. Попытка использовать элемент управления Timer с ежесекундным Refresh и DoEvents не помогла. Пытаюсь производить регенерацию окна через определённое число циклов. Нет ли широко используемых, но неизвестных мне способов улучшения вывода графики?
2. Желательно реализовать возможность «аварийного» прерывания выполнения программы с возвратом в исходную форму. Однако программа не реагирует на нажатия кнопок, «крестика», Ctrl-C до завершения текущего цикла (а он может длиться несколько минут). Применение события KeyPress не помогает, Timer – тоже. Что делать? Чаще расставлять DoEvens в ущерб быстродействию? Или есть другие способы? (Уменьшать количество выводимой графики не хотелось бы).
Всем заранее благодарен.