打印本文 打印本文 关闭窗口 关闭窗口
Delphi组件与属性编辑器
作者:武汉SEO闵涛  文章来源:敏韬网  点击数4753  更新时间:2009/4/23 18:38:00  文章录入:mintao  责任编辑:mintao

        //Event
        FOnPosChange: TNotifyEvent;
        FOnShow: TNotifyEvent;
        FOnFormHide: TCloseEvent;

        procedure SetProgressMax(const Value: integer);
        procedure SetProgressMin(const Value: integer);
        procedure SetProgressPos(const Value: integer);
        procedure SetProgressStep(const Value: integer);

        procedure DrawForm;
        function setLableHeight(sCaption:string):integer;
        procedure setOptions(const value:TDlgOptions);
        procedure setMessage1(const value:string);
        procedure setMessage2(const value:string);
        procedure setCaption(const value:string);
        procedure SetMessage1Font(const value:TFont);
        procedure SetMessage2Font(const value:TFont);
        function IsMessage1FontStored: Boolean;
        function IsMessage2FontStored: Boolean;

        procedure setAVIPosition(const Value: TAVIPosition);
        procedure SetAVISource(const Value: TdsAVISource);

        procedure SetOnFormHide(const Value: TCloseEvent);
      protected
        procedure DoPosChange; virtual;
        procedure DoShow; virtual;

      public
        constructor Create(AOwner: TComponent); override;
        destructor Destroy; override;
        procedure  FormShow;
        procedure  FormHide;
        procedure  FormUpdate;
        procedure  ProgressStepIt;
      published
        //Form
        property Message1: string read FMessage1 write setMessage1 ;
        property Message2: string read FMessage2 write setMessage2 ;
        property Message1Font: TFont read FMessage1Font write SetMessage1Font stored IsMessage1FontStored;
        property Message2Font: TFont read FMessage2Font write SetMessage2Font stored IsMessage2FontStored;
        property Caption: string read FCaption write setCaption ;
        property DislogStyle:TDialogStyle read FDislogStyle write FDislogStyle;
        property wordWrap :boolean read FwordWrap write FwordWrap;
        property Options:TDlgOptions read FOptions write setOptions;

        //AVI
        property AviActive: boolean read FAviActive write FAviActive ;
        property AviPosition: TAVIPosition read FaviPosition write setAVIPosition ;
        property AviSource: TdsAVISource read FAVISource write SetAVISource ;

        //Progress
        property ProgressMax: integer read FProgressMax  write SetProgressMax ;
        property ProgressMin: integer read FProgressMin  write SetProgressMin ;
        property ProgressPos: integer read FProgressPos  write SetProgressPos ;
        property ProgressStep:integer read FProgressStep write SetProgressStep;

        //Event
        property OnPosChange: TNotifyEvent read FOnPosChange write FOnPosChange;
        property OnShow: TNotifyEvent read FOnShow write FOnShow;
        property OnHide: TCloseEvent read FOnFormHide write SetOnFormHide;
      end;


    implementation

    {$R *.DFM}

    { TdsAVISource }
    procedure TdsAVISource.SetCommonAVI(const Value: TCommonAVI);
    begin
      if Value = FCommonAVI then exit;
      FCommonAVI := Value;
      FfileName:='''''''';
    end;

    procedure TdsAVISource.SetFileName(const Value: string);
    begin
      if Value = FfileName then exit;
      FfileName:=value;
      FCommonAVI:=aviNone;
    end;

    { TdsWaitDialogEx }

    procedure TdsWaitDialogEx.DoShow;
    begin
      if Assigned(FOnShow) then FOnShow(Self);
    end;

    procedure TdsWaitDialogEx.DoPosChange;
    begin
      if Assigned(FOnPosChange) then FOnPosChange(Self);
    end;

    procedure TdsWaitDialogEx.SetAVISource(const Value: TdsAVISource);
    begin
      if FAVISource=value then exit;
      FAVISource.Assign(Value);
      if (FAVISource.FFileName='''''''')and(FAVISource.FCommonAVI=aviNone) then FshowAVI:=false;
      if assigned(FDlgForm) then
      begin
        FDlgForm.Animate1.Active:=false;
        FDlgForm.Animate1.FileName := '''''''';
        FDlgForm.Animate1.CommonAVI := aviNone;
        if FshowAVI then
        begin
          if FAVISource.FfileName='''''''' then
            FDlgForm.Animate1.CommonAVI := FAVISource.FCommonAVI
          else
            FDlgForm.Animate1.FileName := FAVISource.FfileName;
          FDlgForm.Animate1.Active:=true;
        end;
        DrawForm;  //Animate1->AVI改变后,可能引起的Animate1大小改变 ==> DrawForm
        FDlgForm.Update;
      end;
    end;

    function TdsWaitDialogEx.IsMessage1FontStored: Boolean;
    begin
      with FMessage1Font do
        Result :=
          (Name <> ''''MS Sans Serif'''') or
          (Style <> []) or
          (Size <> 8) or
          (Color <> clWindowText) or
          (Charset <> DEFAULT_CHARSET) or
          (Pitch <> fpDefault);
    end;

    function TdsWaitDialogEx.IsMessage2FontStored: Boolean;
    begin
      with FMessage2Font do
        Result :=
          (Name <> ''''MS Sans Serif'''') or
          (Style <> []) or
          (Size <> 8) or
          (Color <> clWindowText) or
          (Charset <> DEFAULT_CHARSET) or
          (Pitch <> fpDefault);
    end;

    procedure TdsWaitDialogEx.SetMessage1Font(const Value: TFont);
    begin
      FMessage1Font.Assign(Value);
      if assigned(FDlgForm

上一页  [1] [2] [3] [4] [5] [6]  下一页

打印本文 打印本文 关闭窗口 关闭窗口