У меня есть стандартное диалоговое окно поиска:
Моя программа может обрабатывать некоторые очень большие файлы, и поиск текста в таких файлах может занять 10 или 20 секунд или более. Поэтому после нажатия кнопки «Найти далее» я меняю курсор на песочные часы. Я возвращаю его к стандартному указателю после того, как текст найден или не найден.
Моя проблема в том, что пользователь может решить отменить поиск и сделать это, нажав кнопку Отмена. Затем кнопка «Отмена» закрывает диалоговое окно, но поиск продолжается в моей процедуре FindDialogFind, пока текст не будет найден или не найден.
Я установил точку останова при выходе из FindDialog.exe, но она не будет достигнута, пока FindDialogFind не будет завершен.
Можно ли как-то уловить тот факт, что была нажата кнопка «Отмена», которая позволит мне разорвать цикл FindDialogFind, или, может быть, есть какой-нибудь лучший способ остановить поиск при нажатии кнопки «Отмена»?