| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- unit UserWaitFrm;
- interface
- uses
- Windows, Messages, SysUtils, Variants,
- Classes, Graphics, Controls, Forms, ExtCtrls;
- type
- TUserWaitForm = class(TForm)
- Shape: TShape;
- procedure FormCreate(Sender: TObject);
- procedure FormPaint(Sender: TObject);
- private
- procedure SetFormWidthAndHeight;
- public
- procedure ShowUserHint(const AUserHint: string);
- end;
- procedure ShowUserWaitForm(const AUserHint: string);
- procedure CloseUserWaitForm;
- implementation
- {$R *.dfm}
- var
- UserWaitForm: TUserWaitForm;
- function GetUserWaitForm: TUserWaitForm;
- begin
- if UserWaitForm = nil then
- UserWaitForm := TUserWaitForm.Create(nil);
- Result := UserWaitForm;
- end;
- procedure ShowUserWaitForm(const AUserHint: string);
- begin
- GetUserWaitForm.ShowUserHint(AUserHint);
- Application.ProcessMessages;
- end;
- procedure CloseUserWaitForm;
- begin
- FreeAndNil(UserWaitForm);
- end;
- { TProgressForm }
- procedure TUserWaitForm.SetFormWidthAndHeight;
- begin
- Width := 450;
- Height := 60;
- end;
- procedure TUserWaitForm.FormCreate(Sender: TObject);
- begin
- SetFormWidthAndHeight;
- end;
- procedure TUserWaitForm.FormPaint(Sender: TObject);
- var
- R: TRect;
- begin
- R := ClientRect;
- DrawText(Canvas.Handle, PChar(Hint), -1, R, DT_CENTER or DT_VCENTER or DT_SINGLELINE);
- end;
- procedure TUserWaitForm.ShowUserHint(const AUserHint: string);
- begin
- Hint := AUserHint;
- Show;
- end;
- end.
|