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