MessageCentre.pas 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. unit MessageCentre;
  2. interface
  3. uses
  4. Windows, Messages, SysUtils, Variants, Classes, Graphics,
  5. Controls, Forms, Dialogs, cefvcl, FlatForm, ceflib, CnCommon;
  6. type
  7. TMessageCentreForm = class(TFlatForm)
  8. chrm1: TChromium;
  9. procedure chrm1BeforeDownload(Sender: TObject; const browser: ICefBrowser;
  10. const downloadItem: ICefDownloadItem; const suggestedName: ustring;
  11. const callback: ICefBeforeDownloadCallback);
  12. procedure chrm1DownloadUpdated(Sender: TObject; const browser: ICefBrowser;
  13. const downloadItem: ICefDownloadItem;
  14. const callback: ICefDownloadItemCallback);
  15. private
  16. { Private declarations }
  17. public
  18. { Public declarations }
  19. end;
  20. var
  21. MessageCentreForm: TMessageCentreForm;
  22. implementation
  23. {$R *.dfm}
  24. procedure TMessageCentreForm.chrm1BeforeDownload(Sender: TObject;
  25. const browser: ICefBrowser; const downloadItem: ICefDownloadItem;
  26. const suggestedName: ustring; const callback: ICefBeforeDownloadCallback);
  27. begin
  28. callback.Cont(MakePath(GetMyDocumentsDir) + 'download\' + suggestedName, true);
  29. end;
  30. procedure TMessageCentreForm.chrm1DownloadUpdated(Sender: TObject;
  31. const browser: ICefBrowser; const downloadItem: ICefDownloadItem;
  32. const callback: ICefDownloadItemCallback);
  33. begin
  34. if (downloadItem.IsComplete) and (MessageBox(Handle, '文件下载完成,是否打开文件所在目录? ', '提示', MB_OKCANCEL + MB_ICONQUESTION) = ID_OK) then
  35. begin
  36. ExploreFile(downloadItem.FullPath);
  37. end;
  38. end;
  39. end.