Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.06.06;
Скачать: CL | DM;

Вниз

Скриншот   Найти похожие ветки 

 
Глеб   (2004-05-26 04:38) [0]

Как мне сделать, чтобы при нажатии на кнопку появлялся диалог сохранения файла и при выборе файла в него сохранялся скриншот экрана?


 
Fay ©   (2004-05-26 04:44) [1]

А как получить скриншот экрана знаешь?


 
tamroF   (2004-05-26 04:55) [2]

>>  появлялся диалог сохранения файла
uses ..., Dialogs;

procedure TForm1.Button1Click(Sender: TObject);
var PD:TSavePictureDialog;
begin
PD:=TSavePictureDialog.Create(nil);
PD.DefaultExt:="*.bmp";
if PD.Execute then
begin
// тут - PD.FileName - путь с именем файла, который пользователь выбрал
end;
end;

>>  скриншот экрана в буфер
procedure SendScreenImageToClipboard;
var
 bmp: TBitmap;
begin
 bmp := TBitmap.Create;
 try
   bmp.Width := Screen.Width;
   bmp.Height := Screen.Height;
   BitBlt(bmp.Canvas.Handle, 0, 0, Screen.Width, Screen.Height,
     GetDC(GetDesktopWindow), 0, 0, SRCCopy);
   Clipboard.Assign(bmp);
 finally
   bmp.Free;
 end;
end;

//копирование в созданный ранее bitmap
procedure GetScreenImage(bmp: TBitmap);
begin
 bmp.Width := Screen.Width;
 bmp.Height := Screen.Height;
 BitBlt(bmp.Canvas.Handle, 0, 0, Screen.Width, Screen.Height,
   GetDC(GetDesktopWindow), 0, 0, SRCCopy);
end;


 
Fay ©   (2004-05-26 05:11) [3]

А не нужно прибивать результат GetDC(GetDesktopWindow)?


 
Глеб   (2004-05-26 08:35) [4]

А как получить скриншот окна?



Страницы: 1 вся ветка

Текущий архив: 2004.06.06;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.032 c
4-1083321796
Alex*
2004-04-30 14:43
2004.06.06
Как отловить перезагрузку или выключение Win2000


1-1085383428
ashnurov
2004-05-24 11:23
2004.06.06
edit


14-1085165905
Undert
2004-05-21 22:58
2004.06.06
Обращение Жириновского к Билли ГеЙтсу.


1-1085136603
S@shka
2004-05-21 14:50
2004.06.06
"Простейший" ScreenSaver


1-1085282948
Пугливый Лыжник
2004-05-23 07:29
2004.06.06
Рисование на канве