📄 unit1.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 + -