** 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, полагаю и для других будет похоже... |
|
|