C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Как сделать скриншот экрана, и сохранить его потом в файл???
** Khram
  Отправлено: 31.01.2006, 11:52


Не зарегистрирован








Мне надо программно сделать скриншот экрана и потом сохранить его в файл ?????
Подскажите пожалуйста!!!!
** Alex
Отправлено: 31.01.2006, 12:00


Не зарегистрирован







TPicture *p=new TPicture;
HWND hwnd=GetDesktopWindow();
HDC hdc=GetWindowDC(hwnd);
TCanvas *C=new TCanvas;
C->Handle=hdc;
int w=Screen->Width;
int h=Screen->Height;
p->Bitmap->Width=w;
p->Bitmap->Height=h;
p->Bitmap->Canvas->CopyMode=cmSrcCopy;
p->Bitmap->Canvas->CopyRect(TRect(0,0,w,h),C,TRect(0,0,w,h));
ReleaseDC(hwnd,hdc);
delete C;
p->Bitmap->SaveToFile("c:\\screen.bmp");
delete p;
Grigoriy
Отправлено: 31.01.2006, 16:26


Мастер участка

Группа: Участник
Сообщений: 381



Значит рабочий стол представляет собой окно, для которого все остальные окна являются дочерними ?
Gedeon
Отправлено: 31.01.2006, 16:33


Ветеран

Группа: Модератор
Сообщений: 1742



Да. Можете взять спай++ и там на это посмотреть.
Guest
Отправлено: 15.06.2006, 10:35


Не зарегистрирован







Ребят, а если надо сделать скриншот только области экрана.
А конкретно, есть TImage, на нем Label, необходимо сделать скрин данной Канвы и вывести потом ее на принтер.
А еще мышку бы скрыть:)
Guest
Отправлено: 21.06.2006, 11:26


Не зарегистрирован







QUOTE (Guest @ 15/06/2006, 10:35)
Ребят, а если надо сделать скриншот только области экрана.
А конкретно, есть TImage, на нем Label, необходимо сделать скрин данной Канвы и вывести потом ее на принтер.
А еще мышку бы скрыть:)

CODE
   Graphics::TBitmap *Bitmap = new Graphics::TBitmap;
   Bitmap->Width = Chart1->Width;
   Bitmap->Height = Chart1->Height;
   BitBlt(Bitmap->Canvas->Handle,0,0,Width,Height,Chart1->Canvas->Handle,0,0,SRCCOPY);
   Bitmap->SaveToFile("chart.bmp");
   delete Bitmap;

так я сделал для компонента chart, полагаю и для других будет похоже...

Вернуться в Вопросы программирования в C++Builder