Книга: Delphi. Учимся на примерах

Полный исходный код модуля

Полный исходный код модуля

Полный исходный код модуля программы ScreenShot представлен в листинге 4.1.

Листинг 4.1. Модуль программы ScreenShot

unit Unit1;
interface
uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Registry, WinProcs, jpeg;
type TForm1 = class(TForm)
 Button1: TButton;
 Button2: TButton;
 Screen1: TImage;
 SaveDialog1: TSaveDialog;
 Button3: TButton;
 Button4: TButton;
 procedure Button1Click(Sender: TObject);
 procedure Button2Click(Sender: TObject);
 procedure Button3Click(Sender: TObject);
 procedure Button4Click(Sender: TObject);
private
 { Private declarations }
public
 { Public declarations }
end;
var
 Form1: TForm1; //главная форма
 ВМР1: Graphics.TBitmap; //для работы с рисунками (* .bmp)
 DC1: HDC; //простое поле для графики
 Image1: TImage;
implementation
{$R *.dfm}
procedure TForm1.ButtonlClick(Sender: TObject);
begin
 Form1.Visible:= False; //прячем форму
 Sleep(15);//пауза 15 мс
 BMP1:= Graphics.TBitmap.Create;
 //задаем размеры рисунка такие же как размеры экрана
 ВМР1.Height:= Screen.Height;
 BMP1.Width:= Screen.Width;
 DC1:= GetDC(0);
 //Делаем снимок экрана
 BitBlt(BMP1.Canvas.Handle, 0, 0, Screen.Width, Screen.Height, DC1, 0, 0, SRCCOPY);
 Form1.Visible:= True; //восстанавливаем окно программы
 Image1:= TImage.Create(nil);
 BMP1.IgnorePalette:= True;
 Image1.Picture.Assign(BMP1);
 BMP1.SaveToFile('с:1.bmp'); //сохраняем снимок в файл
  //1.bmp на диске С:
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
 if SaveDialog1.Execute then
  BMP1.SaveToFile(SaveDialog1.FileName) //сохраняем рисунок
 else ShowMessage('Файл не был сохранен!');
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
 //удаляем рисунок с диска
 if FileExists('с:1.bmp') then DeleteFile('C:1.bmp');
 Screen1.Hide; //скрываем рисунок
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
 Screen1.Show; // делаем рисунок видимым
 if FileExists('с:1.bmp') then //если рисунок существует,
  Screen1.Picture.LoadFromFile('с:1.bmp');//загружаем его
end;
end.

? Все файлы проекта и исполняемый файл рассмотренной программы находятся на прилагаемом к книге компакт-диске в папке Chapter04.

Оглавление книги


Генерация: 0.031. Запросов К БД/Cache: 0 / 0
поделиться
Вверх Вниз