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

📄 unit1.pas

📁 用Delphi制作的程序
💻 PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, Menus, ComCtrls, ToolWin, ImgList, ExtDlgs;

type
  TfrmMain = class(TForm)
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    Image1: TImage;
    ImageList1: TImageList;
    mnuSave: TMenuItem;
    N3: TMenuItem;
    mnuExit: TMenuItem;
    ToolBar1: TToolBar;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    mnuCapture: TMenuItem;
    SavePictureDialog1: TSavePictureDialog;
    procedure mnuCaptureClick(Sender: TObject);
    procedure CaptureScreen();
    procedure mnuExitClick(Sender: TObject);
    procedure mnuSaveClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmMain: TfrmMain;

implementation

{$R *.dfm}

procedure TfrmMain.mnuCaptureClick(Sender: TObject);
begin
    self.WindowState:=wsMinimized;
    //最小化程序窗口
    self.hide;
    //把程序藏起来
    CaptureScreen;
    self.WindowState:=wsNormal;
    //复原窗口状态
    self.show;
    //显示窗口
end;

procedure TfrmMain.CaptureScreen();
var
    Fullscreen:Tbitmap;
    FullscreenCanvas:TCanvas;
    dc:HDC;
begin
    Fullscreen:=TBitmap.Create;
    //创建一个BITMAP来存放图象
    Fullscreen.Width:=screen.width;
    Fullscreen.Height:=screen.Height;
    DC:=GetDC(0);
    //取得屏幕的DC,参数0指的是屏幕
    FullscreenCanvas:=TCanvas.Create;
    //创建一个CANVAS对象
    FullscreenCanvas.Handle:=DC;

    Fullscreen.Canvas.CopyRect(Rect(0,0,screen.Width,screen.Height),
              fullscreenCanvas,Rect(0,0,Screen.Width,Screen.Height));
    //把整个屏幕复制到BITMAP中
    FullscreenCanvas.Free;
    //释放CANVAS对象
    ReleaseDC(0,DC);
    //释放DC

    Image1.Picture.Bitmap:=fullscreen;
    //拷贝下的图象赋给IMAGE对象
    Image1.Width:=fullscreen.Width;
    Image1.Height:=fullscreen.Height;
    fullscreen.free;
    //释放bitmap
end;

procedure TfrmMain.mnuExitClick(Sender: TObject);
begin
    Application.Terminate;
end;

procedure TfrmMain.mnuSaveClick(Sender: TObject);
begin
    if self.SavePictureDialog1.Execute then
        self.Image1.Picture.SaveToFile(self.SavePictureDialog1.FileName);
end;

end.

⌨️ 快捷键说明

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