Advertisement
Guest User

Untitled

a guest
May 21st, 2015
326
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 2.05 KB | None | 0 0
  1.   TShowBigDialoxBoxThread=class(TThread)
  2.     private
  3.       FMsg: String;
  4.       FDlgType: TMsgDlgType;
  5.       FButtons: TMsgDlgButtons;
  6.       FHelpContext: Integer;
  7.       FDefaultButton: TMsgDlgBtn;
  8.       FDlgMinWidth: Integer;
  9.       DoShowBigMessageDialog: Boolean;
  10.       function ThreadNotTerminated: Boolean;
  11.     protected
  12.       procedure Execute; Override;
  13.       procedure _ShowBigMessageDialog;
  14.     public
  15.       procedure ShowBigMessageDialog(const Msg: string; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons; HelpContext: Integer;
  16.       DefaultButton: TMsgDlgBtn; DlgMinWidth: Integer);
  17.       constructor Create(CreateSuspended: Boolean = False);
  18.   end;
  19.  
  20. // ======================================================================================================================
  21. // TShowBigDialoxBoxThread
  22. // ======================================================================================================================
  23.  
  24. constructor TShowBigDialoxBoxThread.Create(CreateSuspended: Boolean);
  25. begin
  26.   inherited Create(CreateSuspended);
  27.   DoShowBigMessageDialog:=False;
  28. end;
  29.  
  30. function TShowBigDialoxBoxThread.ThreadNotTerminated: Boolean;
  31. begin
  32.   try
  33.     Result:=not(Terminated or Application.Terminated)
  34.   except
  35.     Result:=True;
  36.   end;
  37. end;
  38.  
  39. procedure TShowBigDialoxBoxThread.Execute;
  40. begin
  41.   while ThreadNotTerminated do begin
  42.     Sleep(100);
  43.     if not(DoShowBigMessageDialog) then
  44.       Continue;
  45.     DoShowBigMessageDialog:=False;
  46.     Synchronize(_ShowBigMessageDialog);
  47.   end;
  48. end;
  49.  
  50. procedure TShowBigDialoxBoxThread.ShowBigMessageDialog(const Msg: string; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons;
  51.   HelpContext: Integer; DefaultButton: TMsgDlgBtn; DlgMinWidth: Integer);
  52. begin
  53.   FMsg:=Msg;
  54.   FDlgType:=DlgType;
  55.   FButtons:=Buttons;
  56.   FHelpContext:=HelpContext;
  57.   FDefaultButton:=DefaultButton;
  58.   FDlgMinWidth:=DlgMinWidth;
  59.   DoShowBigMessageDialog:=True;
  60. end;
  61.  
  62. procedure TShowBigDialoxBoxThread._ShowBigMessageDialog;
  63. begin
  64.   MessageDlgBig(FMsg, FDlgType, FButtons, FHelpContext, FDefaultButton, FDlgMinWidth);
  65. end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement