Листинг 4.34.
Остановка копирования при закрытии формы
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose:
Boolean);
begin
//Останавливаем процесс копирования
bCancelCopy := True;
end;
Как вариант, можно запретить закрытие формы (установить CanClose в False), не останавливая копирования.
В том случае, когда копируется несколько файлов, можно ввести дополнительный элемент управления Progress Ваг, отображающий ход всего процесса копирования. Только при этом придется заранее определить общий размер копируемых файлов.
Определение значков, ассоциированных с файлами
Рассмотрим еще один интересный пример, позволяющий получить значок файла, показываемый, например, в Проводнике Windows. Приведенная в листинге4.35 функция принимает в качестве параметра путь файла и флаг, определяющий, какой нужен значок – малый или большой. Она возвращает дескриптор экземпляра значка, ассоциированного с файлом. Реализация функции находится в модуле ShellFunctions, расположенном на диске, прилагаемом к книге, в папке с названием раздела.