Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.05.2011, 19:11   #1
JonMagon
Форумчанин
 
Регистрация: 07.04.2011
Сообщений: 152
По умолчанию Как сделать скриншот определенной части экрана?

Вообщем помогите сделать программу, которая будет делать скриншот определенной части экрана, а то я себе не представляю как это. Зарание спасибо за ответ
JonMagon вне форума Ответить с цитированием
Старый 11.05.2011, 19:21   #2
Swarog
Форумчанин
 
Аватар для Swarog
 
Регистрация: 26.01.2010
Сообщений: 215
По умолчанию

сразу видно поиском не пользовались ай-йа-яй

вот из колекции примеров делфиворлд

Разместите на форме TPaintBox и TButton.


Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  DeskTop: TCanvas;
begin
  DeskTop := TCanvas.Create;
  try
    with DeskTop do
      Handle := GetWindowDC(GetDesktopWindow);
    with PaintBox1.Canvas do
      CopyRect(Rect(0, 0, 200, 200),
        DeskTop,
        Rect(0, 0, 200, 200))
  finally
    DeskTop.Free;
  end
end;
Это скопирует верхнюю левую область рабочего стола в верхнюю левую область вашего TPaintBox.
Могу лишь пнуть в нужном направлении (ну или как получится)
Swarog вне форума Ответить с цитированием
Старый 11.05.2011, 19:49   #3
JonMagon
Форумчанин
 
Регистрация: 07.04.2011
Сообщений: 152
По умолчанию

Спасибо, а как сделать, чтобы сделался скриншот компонента?

Последний раз редактировалось JonMagon; 11.05.2011 в 19:51.
JonMagon вне форума Ответить с цитированием
Старый 11.05.2011, 20:40   #4
Swarog
Форумчанин
 
Аватар для Swarog
 
Регистрация: 26.01.2010
Сообщений: 215
По умолчанию

ищете Handle этого компонент и вот в этом месте

Код:
Handle := GetWindowDC(GetDesktopWindow);
присваивете Handle не рабочего стола а нужного контрола

хотя здесь могу ошибаться
Могу лишь пнуть в нужном направлении (ну или как получится)
Swarog вне форума Ответить с цитированием
Старый 12.05.2011, 08:24   #5
JonMagon
Форумчанин
 
Регистрация: 07.04.2011
Сообщений: 152
По умолчанию

неа, не работает
JonMagon вне форума Ответить с цитированием
Старый 12.05.2011, 08:25   #6
JonMagon
Форумчанин
 
Регистрация: 07.04.2011
Сообщений: 152
По умолчанию

может лучше определить координаты этого компонента, а потом заскринить как с рабочего стола?
JonMagon вне форума Ответить с цитированием
Старый 12.05.2011, 08:26   #7
JonMagon
Форумчанин
 
Регистрация: 07.04.2011
Сообщений: 152
По умолчанию

Я могу определить только координаты на форме, а как определить координаты на мониторе?
JonMagon вне форума Ответить с цитированием
Старый 12.05.2011, 09:03   #8
Sparkman
220400
Форумчанин
 
Аватар для Sparkman
 
Регистрация: 21.05.2010
Сообщений: 726
По умолчанию

Цитата:
Сообщение от JonMagon Посмотреть сообщение
Я могу определить только координаты на форме, а как определить координаты на мониторе?
Form1.Top и Form1.Left - координаты формы на экране
Cерьёзной помощи не ждите - помогаю в перерывах на "перекур".
Не существует ничего невозможного для человека, который не собирается ничего делать сам.
Не учите человека, если вы не его учитель.
Sparkman вне форума Ответить с цитированием
Старый 12.05.2011, 11:02   #9
JonMagon
Форумчанин
 
Регистрация: 07.04.2011
Сообщений: 152
По умолчанию

Нет, это координаты на форме, а мне нужно на мониторе. Если Top:=0 незначит, что компонент будет в верхнем левом углу экрана, а он будет в верхнем левом углу формы *_*
JonMagon вне форума Ответить с цитированием
Старый 12.05.2011, 13:59   #10
Swarog
Форумчанин
 
Аватар для Swarog
 
Регистрация: 26.01.2010
Сообщений: 215
По умолчанию

так тебе и намекнули, прибавь к координатам контрола координаты формы на которой они находятся
Могу лишь пнуть в нужном направлении (ну или как получится)
Swarog вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скриншот экрана dradysman Общие вопросы Delphi 2 14.04.2010 15:17
Неудаётся сделать скриншот экрана и отлавить клавиши Вавел из ГМТУ Общие вопросы Delphi 4 13.09.2009 14:53
Скриншот экрана ViNcHeStEr Паскаль, Turbo Pascal, PascalABC.NET 5 08.07.2008 12:35
как сделать скриншот xakkkkker Общие вопросы Delphi 1 10.02.2008 15:24
Скриншот экрана Terran Общие вопросы Delphi 2 16.12.2007 15:13