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

📄 teslide.pas

📁 Do your applications look a little boring? Would you like to get spectacular yet easy to use visual
💻 PAS
📖 第 1 页 / 共 3 页
字号:
          begin
            yDesp := VisibleR.Top - VisibleOldR.Top;
            Dec(DstYDesp, yDesp);
            ScrollDC(Data.Canvas.Handle, xDesp, yDesp, VisibleOldR, ClipR, 0,
              nil);
            BitBlt(Data.Canvas.Handle, 0, Data.Height + yDesp, VisibleR.Right,
              -yDesp, Data.DstBmp.Canvas.Handle, DstXDesp, DstYDesp, cmSrcCopy);
            BitBlt(Data.Canvas.Handle, 0, VisibleR.Top, xDesp,
              VisibleOldR.Bottom - VisibleOldR.Top, Data.DstBmp.Canvas.Handle,
              DstXDesp, 0, cmSrcCopy);
          end
          else
            BitBlt(Data.Canvas.Handle, 0, VisibleR.Top, VisibleR.Right,
              VisibleR.Bottom - VisibleR.Top, Data.DstBmp.Canvas.Handle,
              DstXDesp, 0, cmSrcCopy);
        end;
    24: begin;
          VisibleR.Right := Round((Data.Width / TotalFrames) * CurrentFrame);
          VisibleR.Top   :=
            Data.Height - Round((Data.Height / TotalFrames) * CurrentFrame);
          StretchBlt(Data.Canvas.Handle, 0, VisibleR.Top, VisibleR.Right,
            Data.Height - VisibleR.Top, Data.DstBmp.Canvas.Handle, 0, 0,
            Data.Width, Data.Height, cmSrcCopy);
        end;
    25: begin
          with VisibleR do
          begin
            Left   := (Data.Width -
              Round((Data.Width  / TotalFrames) * CurrentFrame)) div 2;
            Top    := (Data.Height -
              Round((Data.Height / TotalFrames) * CurrentFrame)) div 2;
            Right  := Data.Width  - Left;
            Bottom := Data.Height - Top;
          end;
          StretchBlt(Data.Canvas.Handle, VisibleR.Left, VisibleR.Top,
            VisibleR.Right - VisibleR.Left, VisibleR.Bottom - VisibleR.Top,
            Data.DstBmp.Canvas.Handle, 0, 0, Data.Width, Data.Height, cmSrcCopy);
        end;
    26,
    27,
    28: begin;
          Inc(VisibleR.Bottom, Step);
          if Mode <> 27
          then
          begin
            if not IsClipped
            then
            begin
              ScrollR := Rect(0, VisibleOldR.Bottom, Data.Width, Data.Height);
              ScrollDC(Data.Canvas.Handle, 0, Step, ScrollR, ClipR, 0, nil);
            end
            else
              BitBlt(Data.Canvas.Handle, 0, VisibleR.Bottom, Data.Width,
                Data.Height - VisibleR.Bottom, Data.SrcBmp.Canvas.Handle, 0, 0,
                cmSrcCopy);
          end
          else
            StretchBlt(Data.Canvas.Handle, 0, VisibleR.Bottom, Data.Width,
              Data.Height - VisibleR.Bottom, Data.SrcBmp.Canvas.Handle, 0, 0,
              Data.Width, Data.Height, cmSrcCopy);
          if Mode = 28
          then
            StretchBlt(Data.Canvas.Handle, 0, 0, Data.Width, VisibleR.Bottom,
              Data.DstBmp.Canvas.Handle, 0, 0, Data.Width, Data.Height,
              cmSrcCopy)
          else
            BitBlt(Data.Canvas.Handle, 0, VisibleOldR.Bottom, Data.Width,
              Step, Data.DstBmp.Canvas.Handle, 0, VisibleOldR.Bottom, cmSrcCopy);
        end;
    29,
    30,
    31: begin;
          Dec(VisibleR.Top, Step);
          if Mode <> 30
          then
          begin
            if not IsClipped
            then
            begin
              ScrollR := Rect(0, 0, Data.Width, VisibleOldR.Top);
              ScrollDC(Data.Canvas.Handle, 0, -Step, ScrollR, ClipR, 0, nil);
            end
            else
            begin
              Inc(DstYDesp, Step);
              BitBlt(Data.Canvas.Handle, 0, 0, Data.Width, VisibleR.Top,
                Data.SrcBmp.Canvas.Handle, 0, DstYDesp, cmSrcCopy);
            end;
          end
          else
            StretchBlt(Data.Canvas.Handle, 0, 0, Data.Width, VisibleR.Top,
              Data.SrcBmp.Canvas.Handle, 0, 0, Data.Width, Data.Height,
              cmSrcCopy);
          if Mode = 31
          then
            StretchBlt(Data.Canvas.Handle, 0, VisibleR.Top, Data.Width,
              Data.Height - VisibleR.Top, Data.DstBmp.Canvas.Handle, 0, 0,
              Data.Width, Data.Height, cmSrcCopy)
          else
            BitBlt(Data.Canvas.Handle, 0, VisibleR.Top, Data.Width, Step,
              Data.DstBmp.Canvas.Handle, 0, VisibleR.Top, cmSrcCopy);
        end;
    32,
    33,
    34: begin;
          Dec(VisibleR.Left, Step);
          if Mode <> 33
          then
          begin
            if not IsClipped
            then
            begin
              ScrollR := Rect(0, 0, VisibleOldR.Left, Data.Height);
              ScrollDC(Data.Canvas.Handle, -Step, 0, ScrollR, ClipR, 0, nil);
            end
            else
            begin
              Inc(DstXDesp, Step);
              BitBlt(Data.Canvas.Handle, 0, 0, VisibleR.Left, Data.Height,
                Data.SrcBmp.Canvas.Handle, DstXDesp, 0, cmSrcCopy);
            end;
          end
          else
            StretchBlt(Data.Canvas.Handle, 0, 0, VisibleR.Left, Data.Height,
              Data.SrcBmp.Canvas.Handle, 0, 0, Data.Width, Data.Height,
              cmSrcCopy);
          if Mode = 34
          then
            StretchBlt(Data.Canvas.Handle, VisibleR.Left, 0,
              Data.Width - VisibleR.Left, Data.Height,
              Data.DstBmp.Canvas.Handle, 0, 0, Data.Width, Data.Height,
              cmSrcCopy)
          else
            BitBlt(Data.Canvas.Handle, VisibleR.Left, 0, Step, Data.Height,
              Data.DstBmp.Canvas.Handle, VisibleR.Left, 0, cmSrcCopy);
        end;
    35,
    36,
    37: begin;
          Inc(VisibleR.Right, Step);
          if Mode <> 36
          then
          begin
            if not IsClipped
            then
            begin
              ScrollR := Rect(VisibleOldR.Right, 0, Data.Width, Data.Height);
              ScrollDC(Data.Canvas.Handle, Step, 0, ScrollR, ClipR, 0, nil);
            end
            else
              BitBlt(Data.Canvas.Handle, VisibleR.Right, 0,
                Data.Width - VisibleR.Right, Data.Height,
                Data.SrcBmp.Canvas.Handle, 0, 0, cmSrcCopy);
          end
          else
            StretchBlt(Data.Canvas.Handle, VisibleR.Right, 0,
              Data.Width - VisibleR.Right, Data.Height,
              Data.SrcBmp.Canvas.Handle, 0, 0, Data.Width, Data.Height,
              cmSrcCopy);
          if Mode = 37
          then
            StretchBlt(Data.Canvas.Handle, 0, 0, VisibleR.Right, Data.Height,
              Data.DstBmp.Canvas.Handle, 0, 0, Data.Width, Data.Height,
              cmSrcCopy)
          else
            BitBlt(Data.Canvas.Handle, VisibleOldR.Right, 0, Step, Data.Height,
              Data.DstBmp.Canvas.Handle, VisibleOldR.Right, 0, cmSrcCopy);
        end; //EROC itnA
    38,
    39: begin;
          VisibleR.Right :=
            Data.Width - Round((Data.Width / TotalFrames) * CurrentFrame);
          VisibleR.Top   := Round((Data.Height / TotalFrames) * CurrentFrame);
          xDesp := VisibleR.Right - VisibleOldR.Right;
          yDesp := VisibleR.Top   - VisibleOldR.Top;
          if Mode = 38
          then
          begin
            if not IsClipped
            then
              ScrollDC(Data.Canvas.Handle, xDesp, yDesp, VisibleOldR, ClipR, 0,
                nil)
            else
            begin
              Dec(DstXDesp, xDesp);
              BitBlt(Data.Canvas.Handle, 0, VisibleR.Top, VisibleR.Right,
                Data.Height - VisibleR.Top, Data.SrcBmp.Canvas.Handle,
                DstXDesp, 0, cmSrcCopy);
            end;
          end
          else
            StretchBlt(Data.Canvas.Handle, 0, VisibleR.Top, VisibleR.Right,
              Data.Height - VisibleR.Top, Data.SrcBmp.Canvas.Handle, 0, 0,
              Data.Width, Data.Height, cmSrcCopy);
        BitBlt(Data.Canvas.Handle, 0, VisibleOldR.Top, VisibleOldR.Right, yDesp,
          Data.DstBmp.Canvas.Handle, 0, VisibleOldR.Top, cmSrcCopy);
        BitBlt(Data.Canvas.Handle, VisibleR.Right, VisibleR.Top, -xDesp,
          VisibleR.Bottom - VisibleR.Top, Data.DstBmp.Canvas.Handle,
          VisibleR.Right, VisibleR.Top, cmSrcCopy);
      end;
    40,
    41: begin;
          VisibleR.Left := Round((Data.Width  / TotalFrames) * CurrentFrame);
          VisibleR.Top  := Round((Data.Height / TotalFrames) * CurrentFrame);
          xDesp := VisibleR.Left - VisibleOldR.Left;
          yDesp := VisibleR.Top  - VisibleOldR.Top;
          if Mode = 40
          then
          begin
            if not IsClipped
            then
              ScrollDC(Data.Canvas.Handle, xDesp, yDesp, VisibleOldR, ClipR, 0,
                nil)
            else
              BitBlt(Data.Canvas.Handle, VisibleR.Left, VisibleR.Top,
                Data.Width - VisibleR.Left, Data.Height - VisibleR.Top,
                Data.SrcBmp.Canvas.Handle, 0, 0, cmSrcCopy);
          end
          else
            StretchBlt(Data.Canvas.Handle, VisibleR.Left, VisibleR.Top,
              Data.Width - VisibleR.Left, Data.Height - VisibleR.Top,
              Data.SrcBmp.Canvas.Handle, 0, 0, Data.Width,
              Data.Height, cmSrcCopy);
        BitBlt(Data.Canvas.Handle, VisibleOldR.Left, VisibleOldR.Top,
          Data.Width - VisibleOldR.Left, yDesp, Data.DstBmp.Canvas.Handle,
          VisibleOldR.Left, VisibleOldR.Top, cmSrcCopy);
        BitBlt(Data.Canvas.Handle, VisibleOldR.Left, VisibleOldR.Top, xDesp,
          Data.Height - VisibleOldR.Top, Data.DstBmp.Canvas.Handle,
          VisibleOldR.Left, VisibleOldR.Top, cmSrcCopy);
      end;
    42,
    43: begin;
          VisibleR.Right  :=
            Data.Width  - Round((Data.Width / TotalFrames) * CurrentFrame);
          VisibleR.Bottom :=
            Data.Height - Round((Data.Height / TotalFrames) * CurrentFrame);
          xDesp := VisibleR.Right  - VisibleOldR.Right;
          yDesp := VisibleR.Bottom - VisibleOldR.Bottom;
          if Mode = 42
          then
          begin
            if not IsClipped
            then
              ScrollDC(Data.Canvas.Handle, xDesp, yDesp, VisibleOldR, ClipR, 0,
                nil)
            else
            begin
              Dec(DstXDesp, xDesp);
              Dec(DstYDesp, yDesp);
              BitBlt(Data.Canvas.Handle, 0, 0, VisibleR.Right, VisibleR.Bottom,
                Data.SrcBmp.Canvas.Handle, DstXDesp, DstYDesp, cmSrcCopy);
            end;
          end
          else
            StretchBlt(Data.Canvas.Handle, 0, 0, VisibleR.Right,
              VisibleR.Bottom, Data.SrcBmp.Canvas.Handle, 0, 0, Data.Width,
              Data.Height, cmSrcCopy);
        BitBlt(Data.Canvas.Handle, 0, VisibleR.Bottom, VisibleOldR.Right, -yDesp,
          Data.DstBmp.Canvas.Handle, 0, VisibleR.Bottom, cmSrcCopy);
        BitBlt(Data.Canvas.Handle, VisibleR.Right, 0, -xDesp, VisibleR.Bottom,
          Data.DstBmp.Canvas.Handle, VisibleR.Right, 0, cmSrcCopy);
      end;
    44,
    45: begin;
          VisibleR.Left  := Round((Data.Width / TotalFrames) * CurrentFrame);
          VisibleR.Bottom :=
            Data.Height - Round((Data.Height / TotalFrames) * CurrentFrame);
          xDesp := VisibleR.Left   - VisibleOldR.Left;
          yDesp := VisibleR.Bottom - VisibleOldR.Bottom;
          Dec(DstYDesp, yDesp);
          if Mode = 44
          then
          begin
          if not IsClipped
          then
            ScrollDC(Data.Canvas.Handle, xDesp, yDesp, VisibleOldR, ClipR, 0,
              nil)
          else
            BitBlt(Data.Canvas.Handle, VisibleR.Left, 0,
              Data.Width - VisibleR.Left, VisibleR.Bottom,
              Data.SrcBmp.Canvas.Handle, 0, DstYDesp, cmSrcCopy);
          end
          else
            StretchBlt(Data.Canvas.Handle, VisibleR.Left, 0,
              Data.Width - VisibleR.Left, VisibleR.Bottom,
              Data.SrcBmp.Canvas.Handle, 0, 0, Data.Width, Data.Height,
              cmSrcCopy);
        BitBlt(Data.Canvas.Handle, VisibleOldR.Left, VisibleR.Bottom,
          Data.Width - VisibleOldR.Left, -yDesp, Data.DstBmp.Canvas.Handle,
          VisibleOldR.Left, VisibleR.Bottom, cmSrcCopy);
        BitBlt(Data.Canvas.Handle, VisibleOldR.Left, 0, xDesp,
          VisibleR.Bottom, Data.DstBmp.Canvas.Handle, VisibleOldR.Left, 0,
          cmSrcCopy);
      end;
    46: begin
          with VisibleR do
          begin
            Left   := (Round((Data.Width  / TotalFrames) * CurrentFrame)) div 2;
            Top    := (Round((Data.Height / TotalFrames) * CurrentFrame)) div 2;
            Right  := Data.Width  - Left;
            Bottom := Data.Height - Top;
          end;
          BitBlt(Data.Canvas.Handle, VisibleOldR.Left, VisibleR.Bottom,
            VisibleOldR.Right - VisibleOldR.Left,
            VisibleOldR.Bottom - VisibleR.Bottom, Data.DstBmp.Canvas.Handle,
            VisibleOldR.Left, VisibleR.Bottom, cmSrcCopy);
          BitBlt(Data.Canvas.Handle, VisibleOldR.Left, VisibleOldR.Top,
            VisibleOldR.Right - VisibleOldR.Left,
            VisibleR.Top - VisibleOldR.Top, Data.DstBmp.Canvas.Handle,
            VisibleOldR.Left, VisibleOldR.Top, cmSrcCopy);
          BitBlt(Data.Canvas.Handle, VisibleOldR.Left, VisibleR.Top,
            VisibleR.Left - VisibleOldR.Left, VisibleR.Bottom - VisibleR.Top,
            Data.DstBmp.Canvas.Handle, VisibleOldR.Left, VisibleR.Top,
            cmSrcCopy);
          BitBlt(Data.Canvas.Handle, VisibleR.Right, VisibleR.Top,
            VisibleOldR.Right - VisibleR.Right, VisibleR.Bottom - VisibleR.Top,
            Data.DstBmp.Canvas.Handle, VisibleR.Right, VisibleR.Top, cmSrcCopy);
          StretchBlt(Data.Canvas.Handle, VisibleR.Left, VisibleR.Top,
            VisibleR.Right - VisibleR.Left, VisibleR.Bottom - VisibleR.Top,
            Data.SrcBmp.Canvas.Handle, 0, 0, Data.Width, Data.Height, cmSrcCopy);
        end;
  end;

end;

initialization

  TERegisterTransition(TSlideTransition);

end.

⌨️ 快捷键说明

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