⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 teslide.pas

📁 Do your applications look a little boring? Would you like to get spectacular yet easy to use visual
💻 PAS
📖 第 1 页 / 共 3 页
字号:
          DstXDesp    := Data.Width;
          DstYDesp    := 0;
          VisibleR := Rect(0, Data.Height, 0, Data.Height);
        end;
    25: begin
          if Data.Width > Data.Height
          then Frames := Data.Width  div 2
          else Frames := Data.Height div 2;
          VisibleR := Rect(Data.Width div 2, Data.Height div 2, Data.
            Width div 2, Data.Height div 2);
        end;
    26,
    27,
    28: begin
          Frames   := Data.Height;
          VisibleR := Rect(0, 0, Data.Width, 0);
        end;
    29,
    30,
    31: begin
          Frames   := Data.Height;
          DstYDesp := 0;
          VisibleR := Rect(0, Data.Height, Data.Width, Data.Height);
        end;
    32,
    33,
    34: begin
          Frames   := Data.Width;
          DstXDesp := 0;
          VisibleR := Rect(Data.Width, 0, Data.Width, Data.Height);
        end;
    35,
    36,
    37: begin
          Frames   := Data.Width;
          VisibleR := Rect(0, 0, 0, Data.Height);
        end;
    38,
    39: begin
          if Data.Width > Data.Height
          then Frames := Data.Width
          else Frames := Data.Height;
          DstXDesp    := 0;
          VisibleR    := Rect(0, 0, Data.Width, Data.Height);
        end;
    40,
    41: begin
          if Data.Width > Data.Height
          then Frames := Data.Width
          else Frames := Data.Height;
          VisibleR    := Rect(0, 0, Data.Width, Data.Height);
        end;
    42,
    43: begin
          if Data.Width > Data.Height
          then Frames := Data.Width
          else Frames := Data.Height;
          DstXDesp    := 0;
          DstYDesp    := 0;
          VisibleR    := Rect(0, 0, Data.Width, Data.Height);
        end;
    44,
    45: begin
          if Data.Width > Data.Height
          then Frames := Data.Width
          else Frames := Data.Height;
          DstYDesp    := 0;
          VisibleR    := Rect(0, 0, Data.Width, Data.Height);
        end;
    46: begin
          if Data.Width > Data.Height
          then Frames := Data.Width  div 2
          else Frames := Data.Height div 2;
          VisibleR := Rect(0, 0, Data.Width, Data.Height);
        end;
  end;
end;

procedure TSlideTransition.Finalize(Data: TTETransitionData);
begin
  SetStretchBltMode(Data.Canvas.Handle, SaveStretchBltMode);

  inherited;
end;

procedure TSlideTransition.ExecuteFrame(Data: TTETransitionData;
  CurrentFrame, Step, TotalFrames, LastExecutedFrame: Longint);
var
  VisibleOldR,
  ScrollR: TRect;
  xDesp,
  yDesp: Integer;
begin
  inherited;

  VisibleOldR := VisibleR;

  case Mode of
     1,
     2: begin;
          Inc(VisibleR.Bottom, Step);
          Dec(DstYDesp, Step);
          if not IsClipped
          then
          begin
            ScrollDC(Data.Canvas.Handle, 0, Step, VisibleOldR, ClipR, 0, nil);
            BitBlt(Data.Canvas.Handle, 0, 0, Data.Width, Step,
              Data.DstBmp.Canvas.Handle, 0, DstYDesp, cmSrcCopy);
          end
          else
            BitBlt(Data.Canvas.Handle, 0, 0, Data.Width, VisibleR.Bottom,
              Data.DstBmp.Canvas.Handle, 0, DstYDesp, cmSrcCopy);
          if Mode = 2 then
            StretchBlt(Data.Canvas.Handle, 0, VisibleR.Bottom,
              Data.Width, Data.Height - VisibleR.Bottom,
              Data.SrcBmp.Canvas.Handle, 0, 0, Data.Width, Data.Height,
              cmSrcCopy);
        end;
     3,
     4: begin;
          Inc(VisibleR.Bottom, Step);
          StretchBlt(Data.Canvas.Handle, 0, 0, Data.Width, VisibleR.Bottom,
            Data.DstBmp.Canvas.Handle, 0, 0, Data.Width, Data.Height,
            cmSrcCopy);
          if Mode = 4 then
            StretchBlt(Data.Canvas.Handle, 0, VisibleR.Bottom, Data.Width,
              Data.Height - VisibleR.Bottom, Data.SrcBmp.Canvas.Handle, 0, 0,
              Data.Width, Data.Height, cmSrcCopy);
        end;
     5,
     6: begin;
          Dec(VisibleR.Top, Step);
          if not IsClipped
          then
          begin
            Inc(DstYDesp, Step);
            ScrollDC(Data.Canvas.Handle, 0, -Step, VisibleOldR, ClipR, 0, nil);
            BitBlt(Data.Canvas.Handle, 0, Data.Height - Step, Data.Width, Step,
              Data.DstBmp.Canvas.Handle, 0, DstYDesp, cmSrcCopy);
          end
          else
            BitBlt(Data.Canvas.Handle, 0, VisibleR.Top, Data.Width,
              VisibleR.Bottom - VisibleR.Top, Data.DstBmp.Canvas.Handle, 0,
              0, cmSrcCopy);
          if Mode = 6 then
            StretchBlt(Data.Canvas.Handle, 0, 0, Data.Width, VisibleR.Top,
              Data.SrcBmp.Canvas.Handle, 0, 0, Data.Width, Data.Height,
              cmSrcCopy);
        end;
     7,
     8: begin;
          Dec(VisibleR.Top, Step);
          StretchBlt(Data.Canvas.Handle, 0, VisibleR.Top, Data.Width,
            Data.Height - VisibleR.Top, Data.DstBmp.Canvas.Handle, 0, 0,
            Data.Width, Data.Height, cmSrcCopy);
          if Mode = 8 then
            StretchBlt(Data.Canvas.Handle, 0, 0, Data.Width, VisibleR.Top,
              Data.SrcBmp.Canvas.Handle, 0, 0, Data.Width, Data.Height,
              cmSrcCopy);
        end;
     9,
    10: begin
          Dec(VisibleR.Left, Step);
          if not IsClipped
          then
          begin
            Inc(DstXDesp, Step);
            ScrollDC(Data.Canvas.Handle, -Step, 0, VisibleOldR, ClipR, 0, nil);
            BitBlt(Data.Canvas.Handle, Data.Width - Step, 0, Step, Data.Height,
              Data.DstBmp.Canvas.Handle, DstXDesp, 0, cmSrcCopy);
          end
          else
            BitBlt(Data.Canvas.Handle, VisibleR.Left, 0,
              VisibleR.Right - VisibleR.Left, Data.Height,
              Data.DstBmp.Canvas.Handle, 0, 0, cmSrcCopy);
          if Mode = 10 then
            StretchBlt(Data.Canvas.Handle, 0, 0, VisibleR.Left, Data.Height,
              Data.SrcBmp.Canvas.Handle, 0, 0, Data.Width, Data.Height,
              cmSrcCopy);
        end;
    11,
    12: begin;
          Dec(VisibleR.Left, Step);
          StretchBlt(Data.Canvas.Handle, VisibleR.Left, 0,
            Data.Width - VisibleR.Left, Data.Height, Data.DstBmp.Canvas.Handle,
            0, 0, Data.Width, Data.Height, cmSrcCopy);
          if Mode = 12 then
            StretchBlt(Data.Canvas.Handle, 0, 0, VisibleR.Left, Data.Height,
              Data.SrcBmp.Canvas.Handle, 0, 0, Data.Width, Data.Height,
              cmSrcCopy);
        end;
    13,
    14: begin;
          Inc(VisibleR.Right, Step);
          Dec(DstXDesp, Step);
          if not IsClipped
          then
          begin
            ScrollDC(Data.Canvas.Handle, Step, 0, VisibleOldR, ClipR, 0, nil);
            BitBlt(Data.Canvas.Handle, 0, 0, Step, Data.Height,
              Data.DstBmp.Canvas.Handle, DstXDesp, 0, cmSrcCopy);
          end
          else
            BitBlt(Data.Canvas.Handle, 0, 0, VisibleR.Right, Data.Height,
              Data.DstBmp.Canvas.Handle, DstXDesp, 0, cmSrcCopy);
          if Mode = 14 then
            StretchBlt(Data.Canvas.Handle, VisibleR.Right, 0,
              Data.Width - VisibleR.Right, Data.Height,
              Data.SrcBmp.Canvas.Handle, 0, 0, Data.Width, Data.Height,
              cmSrcCopy);
        end;
    15,
    16: begin;
          Inc(VisibleR.Right, Step);
          StretchBlt(Data.Canvas.Handle, 0, 0, VisibleR.Right, Data.Height,
            Data.DstBmp.Canvas.Handle, 0, 0, Data.Width, Data.Height, cmSrcCopy);
          if Mode = 16 then
            StretchBlt(Data.Canvas.Handle, VisibleR.Right, 0,
              Data.Width - VisibleR.Right, Data.Height,
              Data.SrcBmp.Canvas.Handle, 0, 0, Data.Width, Data.Height,
              cmSrcCopy);
        end;
    17: begin;
          VisibleR.Left   :=
            Data.Width - Round((Data.Width / TotalFrames) * CurrentFrame);
          VisibleR.Bottom := Round((Data.Height / TotalFrames) * CurrentFrame);
          yDesp := VisibleR.Bottom - VisibleOldR.Bottom;
          Dec(DstYDesp, yDesp);
          if not IsClipped
          then
          begin
            xDesp := VisibleR.Left - VisibleOldR.Left;
            ScrollDC(Data.Canvas.Handle, xDesp, yDesp, VisibleOldR, ClipR, 0,
              nil);
            BitBlt(Data.Canvas.Handle, VisibleR.Left, 0,
              VisibleR.Right - VisibleR.Left, yDesp,
              Data.DstBmp.Canvas.Handle, 0, Data.Height - VisibleR.Bottom,
              cmSrcCopy);
            BitBlt(Data.Canvas.Handle,
              Data.Width + xDesp, yDesp,
              -xDesp, VisibleOldR.Bottom,
              Data.DstBmp.Canvas.Handle,
              VisibleOldR.Right - VisibleOldR.Left, DstYDesp + yDesp,
              cmSrcCopy);
          end
          else
            BitBlt(Data.Canvas.Handle, VisibleR.Left, 0,
              VisibleR.Right - VisibleR.Left, VisibleR.Bottom,
              Data.DstBmp.Canvas.Handle, 0, DstYDesp, cmSrcCopy);
        end;
    18: begin;
          VisibleR.Left   :=
            Data.Width - Round((Data.Width / TotalFrames) * CurrentFrame);
          VisibleR.Bottom := Round((Data.Height / TotalFrames) * CurrentFrame);
          StretchBlt(Data.Canvas.Handle, VisibleR.Left, 0,
            Data.Width - VisibleR.Left, VisibleR.Bottom,
            Data.DstBmp.Canvas.Handle, 0, 0, Data.Width, Data.Height,
            cmSrcCopy);
        end;
    19: begin;
          VisibleR.Right  := Round((Data.Width  / TotalFrames) * CurrentFrame);
          VisibleR.Bottom := Round((Data.Height / TotalFrames) * CurrentFrame);
          xDesp := VisibleR.Right  - VisibleOldR.Right;
          yDesp := VisibleR.Bottom - VisibleOldR.Bottom;
          Dec(DstXDesp, xDesp);
          Dec(DstYDesp, yDesp);
          if not IsClipped
          then
          begin
            ScrollDC(Data.Canvas.Handle, xDesp, yDesp, VisibleOldR, ClipR, 0,
              nil);
            BitBlt(Data.Canvas.Handle, 0, 0, VisibleR.Right - VisibleR.Left,
              yDesp, Data.DstBmp.Canvas.Handle, DstXDesp, DstYDesp, cmSrcCopy);
            BitBlt(Data.Canvas.Handle, 0, yDesp, xDesp, VisibleOldR.Bottom,
              Data.DstBmp.Canvas.Handle, DstXDesp, DstYDesp + yDesp,
              cmSrcCopy);
          end
          else
            BitBlt(Data.Canvas.Handle, 0, 0, VisibleR.Right, VisibleR.Bottom,
              Data.DstBmp.Canvas.Handle, DstXDesp, DstYDesp, cmSrcCopy);
        end;
    20: begin;
          VisibleR.Right  := Round((Data.Width  / TotalFrames) * CurrentFrame);
          VisibleR.Bottom := Round((Data.Height / TotalFrames) * CurrentFrame);
          StretchBlt(Data.Canvas.Handle, 0, 0, VisibleR.Right, VisibleR.Bottom,
            Data.DstBmp.Canvas.Handle, 0, 0, Data.Width, Data.Height,
            cmSrcCopy);
        end;
    21: begin;
          VisibleR.Left :=
            Data.Width  - Round((Data.Width  / TotalFrames) * CurrentFrame);
          VisibleR.Top  :=
            Data.Height - Round((Data.Height / TotalFrames) * CurrentFrame);
          if not IsClipped
          then
          begin
            xDesp := VisibleR.Left - VisibleOldR.Left;
            yDesp := VisibleR.Top  - VisibleOldR.Top;
            Dec(DstXDesp, xDesp);
            Dec(DstYDesp, yDesp);
            ScrollDC(Data.Canvas.Handle, xDesp, yDesp, VisibleOldR, ClipR, 0,
              nil);
            BitBlt(Data.Canvas.Handle, VisibleR.Left,
              Data.Height + yDesp, VisibleR.Right - VisibleR.Left, yDesp,
              Data.DstBmp.Canvas.Handle, 0, DstYDesp, cmSrcCopy);
            BitBlt(Data.Canvas.Handle, Data.Width + xDesp, VisibleR.Top, -xDesp,
              VisibleOldR.Bottom - VisibleOldR.Top, Data.DstBmp.Canvas.Handle,
              DstXDesp, 0, cmSrcCopy);
          end
          else
            BitBlt(Data.Canvas.Handle, VisibleR.Left, VisibleR.Top,
              VisibleR.Right - VisibleR.Left, VisibleR.Bottom - VisibleR.Top,
              Data.DstBmp.Canvas.Handle, 0, 0, cmSrcCopy);
        end;
    22: begin;
          VisibleR.Left :=
            Data.Width  - Round((Data.Width  / TotalFrames) * CurrentFrame);
          VisibleR.Top  :=
            Data.Height - Round((Data.Height / TotalFrames) * CurrentFrame);
          StretchBlt(Data.Canvas.Handle, VisibleR.Left, VisibleR.Top,
            Data.Width - VisibleR.Left, Data.Height - VisibleR.Top,
            Data.DstBmp.Canvas.Handle, 0, 0, Data.Width, Data.Height,
            cmSrcCopy);
        end;
    23: begin;
          VisibleR.Right := Round((Data.Width / TotalFrames) * CurrentFrame);
          VisibleR.Top   :=
            Data.Height - Round((Data.Height / TotalFrames) * CurrentFrame);
          xDesp := VisibleR.Right - VisibleOldR.Right;
          Dec(DstXDesp, xDesp);
          if not IsClipped
          then

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -