Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.045 c
14-1106769065
Oddin
2005-01-26 22:51
2005.02.20
Потдержка скинов


4-1104651503
race1
2005-01-02 10:38
2005.02.20
нарисовать форму


1-1107512515
REd_imp
2005-02-04 13:21
2005.02.20
Народ как поменять цвет определённой ячейки в Стриггриде


9-1097681121
Colt1978
2004-10-13 19:25
2005.02.20
Кто и как пакует ресурсы ?


1-1107321048
OlegM
2005-02-02 08:10
2005.02.20
Своя панель задач




   Наверх