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

 
Как сделать скриншот своей программы?
Human
  Отправлено: 12.06.2006, 21:39


Ученик-кочегар

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



и сохранить его в файл
имеется в виду изнутри самой проги
xTrim
Отправлено: 13.06.2006, 00:50


Машинист паровоза

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



У меня так сработало:
CODE

Graphics::TBitmap *Bitmap = new Graphics::TBitmap;
Bitmap->Width = Width;
Bitmap->Height = Height;
BitBlt(Bitmap->Canvas->Handle,0,0,Width,Height,Canvas->Handle,-4,-23,SRCCOPY);
Bitmap->SaveToFile("d:\\shot.bmp");

Bitmap->Width = Screen->Width;
Bitmap->Height = Screen->Height;
BitBlt(Bitmap->Canvas->Handle,0,0,Bitmap->Width,Bitmap->Height,Canvas->Handle,-Left-4,-Top-23,SRCCOPY);
Bitmap->SaveToFile("d:\\shotFull.bmp");

delete Bitmap;

Human
Отправлено: 13.06.2006, 09:23


Ученик-кочегар

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



QUOTE (xTrim @ 13/06/2006, 00:50)
Graphics::TBitmap *Bitmap = new Graphics::TBitmap;
Bitmap->Width = Width;
Bitmap->Height = Height;
BitBlt(Bitmap->Canvas->Handle,0,0,Width,Height,Canvas->Handle,-4,-23,SRCCOPY);
Bitmap->SaveToFile("d:\\shot.bmp");

почему то заголовок окна не попадает, но зато такая же область внизу окна попадает в файл

Отредактировано Human — 13/06/2006, 09:32
Human
Отправлено: 13.06.2006, 09:30


Ученик-кочегар

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



сдвиг -4,-42 — получено опытным путем...
а если на другом компьютере будет другая схема оформления?
тогда шапка вылезет опять...
откуда эти странные цифири?

Отредактировано Human — 13/06/2006, 09:33
Gedeon
Отправлено: 13.06.2006, 10:20


Ветеран

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



Определите все размеры через апи и посчитайте правильную область.
Human
Отправлено: 13.06.2006, 12:33


Ученик-кочегар

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



QUOTE (Gedeon @ 13/06/2006, 10:20)
Определите все размеры через апи и посчитайте правильную область.

так размеры вроде известны...
откуда берутся эти цифры сдвига, мне не понятно...

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