Как заставить окно рисоваться в память?
От: megapup  
Дата: 12.06.09 15:31
Оценка:
Причем со всеми дочерними окнами и не копироваться а рисоваться ТОЛЬКО в память.
можно как-нибудь такое провернуть?
Re: Как заставить окно рисоваться в память?
От: Аноним  
Дата: 12.06.09 21:33
Оценка:
Здравствуйте, megapup, Вы писали:

M>Причем со всеми дочерними окнами и не копироваться а рисоваться ТОЛЬКО в память.

M>можно как-нибудь такое провернуть?

mirror driver?
Re[2]: Как заставить окно рисоваться в память?
От: megapup  
Дата: 12.06.09 22:15
Оценка:
хмм...что-то новенькое, посмотрим. Спасибо, в любом случае)
Re: Как заставить окно рисоваться в память?
От: Pavel Dvorkin Россия  
Дата: 15.06.09 07:19
Оценка:
Здравствуйте, megapup, Вы писали:

M>Причем со всеми дочерними окнами и не копироваться а рисоваться ТОЛЬКО в память.

M>можно как-нибудь такое провернуть?

WM_PRINT ему пошли. Если захочет — нарисуется.
With best regards
Pavel Dvorkin
Re[2]: Как заставить окно рисоваться в память?
От: CEMb  
Дата: 15.06.09 07:59
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Здравствуйте, megapup, Вы писали:


M>>Причем со всеми дочерними окнами и не копироваться а рисоваться ТОЛЬКО в память.

M>>можно как-нибудь такое провернуть?

PD>WM_PRINT ему пошли. Если захочет — нарисуется.


А DefWindowProcы как себя ведут обычно?
Re[3]: Как заставить окно рисоваться в память?
От: megapup  
Дата: 15.06.09 08:23
Оценка:
вся засада в контролах
WM_PRINT нормально работает, но контролы себя продолжают рисовать хоть ты тресни
даже если у контрола перехватывать WM_PAINT и рисовать в память уже допустим так
SendMessage(контрол,WM_PRINT,(WPARAM)myDC,..
или так
DefWindowProc(контрол,WM_PAINT,(WPARAM)myDC,..
или функцией PrintWindow
все равно, котролы рисуют себя прямо на окно
допустим если мышкой кликнуть на кнопку
у которой
case WM_PAINT:return 0;
то кнопка нарисуется
Re[4]: Как заставить окно рисоваться в память?
От: CEMb  
Дата: 16.06.09 02:53
Оценка:
M>вся засада в контролах
M>WM_PRINT нормально работает, но контролы себя продолжают рисовать хоть ты тресни
M>даже если у контрола перехватывать WM_PAINT и рисовать в память уже допустим так
M>SendMessage(контрол,WM_PRINT,(WPARAM)myDC,..
M>или так
M>DefWindowProc(контрол,WM_PAINT,(WPARAM)myDC,..
M>или функцией PrintWindow
M>все равно, котролы рисуют себя прямо на окно
M>допустим если мышкой кликнуть на кнопку
M>у которой
M>case WM_PAINT:return 0;
M>то кнопка нарисуется

Сдаётся мне, стили включены, да?
У меня такая неприятность была тока с включенными стилями. Кстати, так и не поймал, где. Но это тока если без клика.
А можно ещё попробовать на момент WM_PRINT ставить родительскому окну стиль WM_CLIPCHILDREN
А ещё надо отловить WM_ERASEBKGND на всякий случай. Фон кнопки тут рисуется(если не вру).
А при клике, при нажатии мыши отрабатывают BS_SETSTATE(или BS_SETCHECK), которая вроде как тоже что-то отрисовывает.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.