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

Разработка программного кода

Разработка программного кода

Для начала объявим все переменные, которыми будем пользоваться в программе:

var
 Form1: TForm1; //главная форма
 ВМР1 :Graphics.ТВitmap; //для работы с рисунками (*.bmp)
 DC1: HDC;//простое поле для графики
 Image1:TImage;

Самое главное событие в программе — это нажатие кнопки Сделать снимок экрана. Создадим обработчик этого события:

procedure TForm1.Button1Click(Sender: TObject);

begin
 Form1.Visible := False;//прячем форму
 Sleep(15); //пауза 15 мс
 BMP1:= Graphics.TBitmap.Create;
 //задаем размеры рисунка такие же как размеры экрана
 ВМР1.Height:= Screen.Height;
 ВМР1.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);
 ВМР1.SaveToFile('с:1.bmp'); //сохраняем снимок в файл 1.bmp на диске С:
end;

Перед тем как сделать снимок экрана, мы прячем окно программы, делаем паузу в 15 мс и задаем размеры будущего рисунка. После этого делаем снимок экрана и сохраняем его в файл 1.bmp, который находится на диске C:.

По нажатию кнопки Показать рисунок выполняем следующий код:

procedure TForm1.Button4Click(Sender: TObject);
begin
 Screen1.Show; // делаем рисунок видимым
 if FileExists('с:1.bmp') then //если рисунок существует,
  Screen1.Picture.LoadFromFile('c:1.bmp'); //загружаем его
end;

По нажатию кнопки Очистить мы должны скрывать рисунок и удалять его с диска:

procedure TForm1.Button3Click(sender: TObject);
begin
 //удаляем рисунок с диска
 if FileExists('с:1.bmp') then DeleteFile('С:1.bmp');
 Screen1.Hide; //скрываем рисунок
end;

Для сохранения рисунка будем использовать диалоговое окно. Код нажатия кнопки Сохранить:

procedure TForm1.Button2Click(Sender: TObject);
begin
 if SaveDialog1.Execute then
  BMP1.SaveToFile(SaveDialog1.FileName)//сохраняем рисунок
 else ShowMessage('Файл не был сохранен!');
end;

Здесь мы проверяем, выбрал ли пользователь место сохранения файла. Если да, то сохраняем рисунок по указанному расположению.

Откомпилируем и запустим программу на выполнение (результат — на рис. 4.2).


Рис. 4.2. Программа ScreenShot в действии

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


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