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

Вниз

Как скопировать изоброжение чужого окна.   Найти похожие ветки 

 
Pavia ©   (2004-12-28 23:18) [0]

Как скопировать изоброжение чужого окна? При условии что его перекрывпают другии окна, или вобще свернуто.


 
Shaman_Naydak   (2004-12-29 07:35) [1]

нормальные чужие окна должны отрабатывать
WM_PRINT и WM_PRINTCLIENT


 
MBo ©   (2004-12-29 07:42) [2]

статья о [1] есть на
www.fengyuan.com


 
VMcL ©   (2004-12-29 07:45) [3]

Как-то так, наверное:

function GetWindowShot(const Window: HWND): TBitmap;
var
 DC: HDC;
 R: TRect;
begin
 Result := TBitmap.Create;
 with Result do
   try
     PixelFormat := pf24bit;
     Transparent := False;
     DC := GetWindowDC(Window);
     try
       GetWindowRect(Window, R);
       Width := R.Right - R.Left;
       Height := R.Bottom - R.Top;
       BitBlt(Canvas.Handle, 0, 0, Width, Height, DC, 0, 0, SRCCOPY);
     finally
       ReleaseDC(Window, DC);
     end;
   except
     Free;
     raise;
   end;
end;


Замечание. Как видно из кода, за освобождение результирующего TBitmap"а отвечает вызывающая сторона.


 
DeadMeat ©   (2004-12-29 22:09) [4]


> [3] VMcL ©   (29.12.04 07:45)

Проверено... Не поможет. Нужно именно [1] или что-то в этом роде...

---
...Death Is Only The Begining...


 
Anton_K ©   (2004-12-29 22:17) [5]

Можно послать WM_PAINT, где в wParam DC нужного битмапа.


 
Thick   (2004-12-29 22:47) [6]

А ты не узадумывался что прорисовка окна происходит именно когда его нухно прорисовать????


 
Pavia ©   (2004-12-30 00:16) [7]

VMcL
Так я пробовал. Это мне не подходит.
Shaman_Naydak, MBo
Спасибо, это должно помочь.



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

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

Наверх




Память: 0.48 MB
Время: 0.032 c
8-1093626380
ИМХО
2004-08-27 21:06
2005.02.20
DXF


14-1106910868
WondeRu
2005-01-28 14:14
2005.02.20
У меня сразу две AGP-видюхи в компе! Откуда вторая???


14-1107120927
Alexander Panov
2005-01-31 00:35
2005.02.20
"Белая гвардия"


14-1106881694
Думкин
2005-01-28 06:08
2005.02.20
С Днем Рождения! 28 января


1-1107781490
r.o.o.t
2005-02-07 16:04
2005.02.20
Шрифты