Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.01.28;
Скачать: CL | DM;

Вниз

Изображение окна   Найти похожие ветки 

 
murava ©   (2006-09-18 12:28) [0]

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


 
KilkennyCat ©   (2006-09-18 12:39) [1]

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


 
murava ©   (2006-09-18 12:49) [2]

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


 
KilkennyCat ©   (2006-09-18 13:52) [3]

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


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

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.


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

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



Страницы: 1 вся ветка

Текущий архив: 2007.01.28;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.039 c
2-1168376640
Lamer666
2007-01-10 00:04
2007.01.28
DBGridEh1.SelectedRows


15-1167339007
Ringo
2006-12-28 23:50
2007.01.28
О тщетности всякого усилия.


2-1168324543
Extar
2007-01-09 09:35
2007.01.28
Чтобы не изобретать велосипед...


15-1168535854
Andy BitOff
2007-01-11 20:17
2007.01.28
Рекламный ход. Какие ассоциации? =)


3-1162829092
DVM
2006-11-06 19:04
2007.01.28
Как быстро удалить все записи в ADOTable без SQL ?