Форум: "WinAPI";
Текущий архив: 2005.02.20;
Скачать: [xml.tar.bz2];
ВнизКак скопировать изоброжение чужого окна. Найти похожие ветки
← →
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 вся ветка
Форум: "WinAPI";
Текущий архив: 2005.02.20;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.037 c