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

📄 unit1.pas

📁 Delphi实效编程百例的随书源代码 这是其中的操作系统部分
💻 PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  jpeg, ExtCtrls;

type
  TForm1 = class(TForm)
    Timer1: TTimer;
    Image1: TImage;
    procedure Timer1Timer(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
    procedure Detect(var Msg:TMsg;var Handled:boolean);
  public
    procedure ShowPic(Sender: TObject);
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Detect(var Msg:TMsg; var Handled:boolean);
Var
  Done:boolean;
begin
  Done:=false;
  if (Msg.message=WM_KEYDOWN) or (Msg.message=WM_MOUSEMOVE) then
    done:=true;
  if done then
  begin
    close;
  end;
end;

procedure TForm1.ShowPic(Sender: TObject);
var
  newbmp:TBitmap;
  i,j,bmpheight,bmpwidth:integer;
  cav: TCanvas;
  DC : HDC;
begin
  newbmp:= TBitmap.Create;
  newbmp.Width:=image1.Width;
  newbmp.Height:=image1.Height;
  bmpheight:=image1.Height;
  bmpwidth:=image1.Width;

  i:=0;
  while i<= bmpheight do
  begin
    j:=i;
    while(j >0)do
    begin
      newbmp.Canvas.CopyRect(Rect(0,j-1,bmpwidth,j),image1.Canvas,Rect(0,bmpheight-i+j-1,bmpwidth,bmpheight-i+j));
      newbmp.Canvas.CopyRect(Rect(0,bmpheight-j,bmpwidth,bmpheight-j+1),image1.Canvas,Rect(0,i-j,bmpwidth,i-j+1));
      j:=j-2;
    end;

    cav := TCanvas.Create;
    DC := GetDC(0);
    cav.Handle := DC;
    cav.Draw(20,10,newbmp);
    cav.Free;
    ReleaseDC(0, DC);
    i:=i+2;
  end;
  newbmp.free;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  ShowPic(Sender);
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
  WindowState:=wsMaximized; //覆盖屏幕;
  ShowCursor(false); //隐藏光标;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
  Application.OnMessage:=Detect;
end;

end.

⌨️ 快捷键说明

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