Использование диалогов для загрузки и сохранения графических файлов
procedure TForml.ImagelProgress(Sender: TObject; Stage: TProgressStage; PercentDone: Byte; RedrawNow: Boolean; const R: TRect; const Msg: String); begin case Stage of psStarting: begin Progressbarl.Position: = 0; Progressbarl.Max: = 100; end; psEnding: begin Progressbarl.Position: = 0; end; psRunning: begin Progressbarl.Position: = PercentDone; end; end; end; procedure TForml.SavePictureDialoglClose(Sender: TObject); var PicPanel: TPanel; ParentHandle: THandle; WRect: TRect; begin With Sender as TSavePictureDialog do begin PicPanel: = (FindComponent('PicturePanel') as TPanel); if not Assigned(PicPanel) then Exit; ParentHandle: = GetParent(Handle); if ParentHandle=0 then Exit; if FindComponent('JLabel')onil then begin FindComponent('JLabel').Free; FindComponent('JEdit').Free; ProgressiveEnc: = (FindComponent('JCheck1) as TCheckBox).Checked; FindComponent('JCheck').Free; Quality: = (FindComponent('JUpDown') as TUpDown).Position; FindComponent('JUpDown').Free; PicPanel.Height: = PicPanel.Height-DeltaH; GetWindowRect(Handle,WRect); SetWindowPos(Handle,0.0.0,WRect.Right-WRect.Left, WRect.Bottom-WRect.Top-DeltaH, SWP_NOMOVE+SWP_NOZORDER); GetWindowRect(ParentHandle,WRect); SetWindowPos(ParentHandle,0.0.0, WRect.Right-WRect.Left, WRect.Bottom-WRect.Top-DeltaH, SWP_NOMOVE+SWP_NOZORDER); Filterlndex: = 1; end; end; end; procedure TForml.FormCreate(Sender: TObject); var s: string; begin s: = GraphicFilter(TBitmap)+'|'+ GraphicFilter(TJpeglmage); OpenPictureDialogl.Filter: = s; SavePictureDialogl.Filter: = s; end; procedure TForml.SavePictureDialoglShow(Sender: TObject); begin with Sender as TSavePictureDialog do begin if FindComponent('JLabel')Onil then begin FilterIndex: = 2; SavePictureDialoglTypeChange(Sender); end; end; end; end.
Приведенный пример может послужить толчком, во-первых, к углубленному изучению формата JPEG, а во-вторых, – к модификации стандартных диалогов. На его базе можно создать диалоги открытия аудиозаписей, документов и других специализированных видов файлов.