Occurs during image processing or input/output operations. It is useful to display progress to the user of the current task.
You can use ProgressTask to determine what action is underway.
Alternatively, check the class of the sender: ◼TImageEnMIO: Loading of multi-frame images (ietLoading, ietSaving, ietAcquisition, ietPrinting) ◼TImageEnProc: Edit/effect processing of images (ietProcessing, ietAnalysis, ietResampling, ietRotating) ◼TImageEnMView: Filling content from a folder (when not loading on-demand) (ietFilling) ◼TImageEnFolderMView: Reading image list when sub-folders are included (ietFilling)
Note: ◼You can use OnFinishWork to reset the progress when the task has completed ◼Progress for loading of single frame images and thumbnails (using a TImageEnIO) occurs with OnIOProgress ◼Progress values are unreliable when filling a TImageEnFolderMView with sub-folders. The maximum value (denominator) is be specified by SubFolderLimit
// An example showing separate progress display for I/O operations and processing operations procedure TMainForm.ImageEnMView1Progress(Sender: TObject; per: Integer); begin // IMAGE PROCESSING PROGRESS if Sender is TImageEnProc then begin ProcProgressBar.Position := per; ProcProgressBar.Visible := True; end else // I/O PROGRESS begin IOProgressBar.Position := per; IOProgressBar.Visible := True;
// Hide the progress bar procedure TMainForm.ImageEnMView1FinishWork(Sender: TObject); begin // IMAGE PROCESSING PROGRESS if Sender is TImageEnProc then ProcProgressBar.Visible := False else // I/O PROGRESS begin IOProgressBar.Visible := False;
// If filling content, allow user to abort if Sender is TImageEnMView then btnAbort.Visible := False; end; end;