Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Изображение окна [D7, WinXP]


murava ©   (2006-09-18 12:28:00) 

Подскажите, как получить изображение окна в TBitmap(или возможно другой тип)? Окно может быть неактивным, поверх него находяться еще другие окна, или вообще оно свернуто. Это хоть возможно сделать??


DeadMeat   (2006-09-19 00:49:00) [1]

http://www.fengyuan.com/article/wmprint.html


KilkennyCat   (2006-09-18 13:52:00) [2]

> а чем именно отличаеться контекст от самого окна?


Мне затруднительно ответить... а что такое - самое окно?

BitBlt замечательно работает.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/bitmaps_0fzo.asp

Если сложно непосредственно с требуемым окном, то можно обратится к рабочему столу... пример из кулибы:

 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 endend;  
Это скопирует верхнюю левую область рабочего стола в верхнюю левую область вашего TPaintBox.


murava   (2006-09-18 12:49:00) [3]

To KilkennyCat:
А можешь подсказать как именно получить изображение. Я нашел функцию в WinApi (что-то типа BitBlt... точно не помню :)), она перерисовывала окно изображением с другого, а мне б именно получить это изображение без всякого гимороя :)
P.S. В той функции BitBlt используеться КОНТЕКСТ окна, а чем именно отличаеться контекст от самого окна?


KilkennyCat   (2006-09-18 12:39:00) [4]

теоретически - да. а практически - я б его сделал на мгновение поверх всех. так проще.


Наверх

Титульная страница Поиск, карта сайта Написать письмо