打印本文 打印本文 关闭窗口 关闭窗口
Delphi组件与属性编辑器
作者:武汉SEO闵涛  文章来源:敏韬网  点击数4753  更新时间:2009/4/23 18:38:00  文章录入:mintao  责任编辑:mintao
nimate1.Top := FDlgForm.Label2.Top + FDlgForm.Label2.Height + 6;                
          FDlgForm.Gauge1.Top   := FDlgForm.Animate1.Top + FDlgForm.Animate1.Height + 6;
          FDlgForm.Gauge1.Left  :=14;   FDlgForm.Gauge1.Width :=320; 
          FDlgForm.Label1.Left  := 9;   FDlgForm.Label1.Width :=340;
          FDlgForm.Label2.Left  := 9;   FDlgForm.Label2.Width :=340;
          FDlgForm.Animate1.Left:=(FDlgForm.Width div 2)-(FDlgForm.Animate1.Width div 2); // Animate1 居中
     
          FDlgForm.Height:= 27 + + 8 + FDlgForm.Label1.Height
                          + 4 + FDlgForm.Label2.Height
                          + 6 + FDlgForm.Animate1.Height
                          + 6 + FDlgForm.Gauge1.Height + 6;
                     
          if not FShowMessage1 then
          begin
            FDlgForm.Label2.Top  := FDlgForm.Label2.Top - FDlgForm.Label1.Height-4;
            FDlgForm.Animate1.Top:= FDlgForm.Animate1.Top - FDlgForm.Label1.Height-4;
            FDlgForm.Gauge1.Top  := FDlgForm.Gauge1.Top - FDlgForm.Label1.Height-4;
            FDlgForm.Height      := FDlgForm.Height - FDlgForm.Label1.Height-4;
          end;
          if not FShowMessage2 then
          begin
            FDlgForm.Animate1.Top:= FDlgForm.Animate1.Top - FDlgForm.Label2.Height-6;
            FDlgForm.Gauge1.Top  := FDlgForm.Gauge1.Top - FDlgForm.Label2.Height-6;
            FDlgForm.Height      := FDlgForm.Height - FDlgForm.Label2.Height-6;
          end;
          if not FshowAVI then
          begin
            FDlgForm.Gauge1.Top  := FDlgForm.Gauge1.Top - FDlgForm.Animate1.Height-6;
            FDlgForm.Height      := FDlgForm.Height - FDlgForm.Animate1.Height-6;
          end;
          if not FShowProgress then
          begin
            FDlgForm.Height := FDlgForm.Height -  FDlgForm.Gauge1.Height-6;
          end;
        end;
      end;
      FDlgForm.Label1.Visible := FShowMessage1;
      FDlgForm.Label2.Visible := FShowMessage2;
      FDlgForm.Gauge1.Visible := FShowProgress;
      FDlgForm.Animate1.Visible := FshowAVI;
    end;

    procedure TdsWaitDialogEx.FormUpdate;
    begin
      if FAVISource.FfileName<>'''''''' then FAVISource.FCommonAVI:=aviNone;
      if FAVISource.FCommonAVI<>aviNone then FAVISource.FfileName:='''''''';
      if (FAVISource.FfileName='''''''')and(FAVISource.FCommonAVI=aviNone) then FOptions:=FOptions-[showAVI];
      if not assigned(FDlgForm)  then
      begin
        FDlgForm:=TDlgWaitEx.Create(self);
        FDlgForm.Position := poDesktopCenter;
      end;
 
        if not (showCaption in FOptions) then FCaption:='''''''';
        if showAVI in FOptions then FshowAVI:=true else FshowAVI:=false;
        if showMessage1 in FOptions then FShowMessage1:=true else FShowMessage1:=false;
        if showMessage2 in FOptions then FShowMessage2:=true else FShowMessage2:=false;
        if showProgress in FOptions then FShowProgress:=true else FShowProgress:=false;
        if ShowProgressText in FOptions then FShowProgressText:=true else FShowProgressText:=false;

        FDlgForm.Caption:=FCaption;
        FDlgForm.Label1.Caption:=FMessage1;
        FDlgForm.Label1.WordWrap := FwordWrap;
        FDlgForm.Label2.Caption:=FMessage2;
        FDlgForm.Label2.WordWrap := FwordWrap;
        if FDislogStyle=dlgStayOnTop then
          FDlgForm.FormStyle := fsStayOnTop
        else
          FDlgForm.FormStyle := fsNormal;
        FDlgForm.Label1.Font.Assign(FMessage1Font);
        FDlgForm.Label2.Font.Assign(FMessage2Font);

      //AVI
        FDlgForm.Animate1.Active:=false;
        FDlgForm.Animate1.FileName :=  '''''''';
        FDlgForm.Animate1.CommonAVI:= aviNone;
        FDlgForm.Animate1.Height := 60;
        if FshowAVI then
        begin
          if FAVISource.FfileName<>'''''''' then
            FDlgForm.Animate1.FileName := FAVISource.FfileName
          else
            FDlgForm.Animate1.CommonAVI:= FAVISource.FCommonAVI;
          FDlgForm.Animate1.Active:=FAviActive;
        end;

      //Progress
        FDlgForm.Gauge1.ShowText:=FShowProgressText;
        FDlgForm.Gauge1.MinValue:=FProgressMin;
        FDlgForm.Gauge1.MaxValue:=FProgressMax;
        FDlgForm.Gauge1.Progress:=FProgressPos;

      //Refresh the form
        DrawForm;
        FDlgForm.show;
        FDlgForm.update;
        FDlgForm.UserFormClose := FOnFormHide;   
    end;

    procedure TdsWaitDialogEx.SetProgressMax(const Value: integer);
    begin
      if FProgressMax=value then exit;
      FProgressMax := Value;
      if not (showProgress in FOptions) then exit;
      if assigned(FDlgForm) then
      begin
        FDlgForm.Gauge1.MaxValue := FProgressMax;
        if FDlgForm.Gauge1.Progress < FProgressMax then
        begin
          FDlgForm.Gauge1.Progress := FProgressMax;
          FDlgForm.Update ;
        end;
      end;
    end;

    procedure TdsWaitDialogEx.SetProgressMin(const Value: integer);
    begin
      if FProgressMin=value then exit;
      FProgressMin := Value;
      if not (showProgress in FOptions) then exit;
     

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

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