![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Допустим есть два окна, одно перекрывает другое.. [D6, WinXP]
Окна © (2004-07-25 13:34:00)Допустим есть два окна, одно (О1) перекрывает другое (О2)..
если взять GetWindowRect окна O2, и посмотреть, то GetWindowRect сохранит все так, как мы видим (то есть сохраняет наложение О1)..
Вопрос: как можно взять чистый "принтскрин" окна О2, не меняя порядок окон.. (пусть она даже модальные... (хотя на самом деле нет))
такое возможно?
dmk (2004-07-25 23:41:00) [1]Например: BeginPaint, EndPaint, DrawCaption, DrawEdge и т.д.
Можно отрисовать само окно, а вот с клиентской
областью сложнее. Придется самому содержимое отрисовывать.
Вообще, все самому придется отрисовывать.
Окна (2004-07-25 21:14:00) [2]/\
||
Окна (2004-07-25 14:15:00) [3]угу.. а как прорисовать его в памяти?
хоть названиие основных функций..
dmk (2004-07-25 14:06:00) [4]В памяти изображения окна не существует.
При изменении оно каждый раз перерисовывается
на индивидуальном контексте, который является
частью основного контекста вывода(Desktop).
Поэтому вам необходимо осуществить прорисовку
окна в нужном контексте (напр. памяти) и оттуда
сохранить битмап.