Причем со всеми дочерними окнами и не копироваться а рисоваться ТОЛЬКО в память.
можно как-нибудь такое провернуть?
Re: Как заставить окно рисоваться в память?
От:
Аноним
Дата:
12.06.09 21:33
Оценка:
Здравствуйте, megapup, Вы писали:
M>Причем со всеми дочерними окнами и не копироваться а рисоваться ТОЛЬКО в память. M>можно как-нибудь такое провернуть?
Здравствуйте, megapup, Вы писали:
M>Причем со всеми дочерними окнами и не копироваться а рисоваться ТОЛЬКО в память. M>можно как-нибудь такое провернуть?
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Здравствуйте, megapup, Вы писали:
M>>Причем со всеми дочерними окнами и не копироваться а рисоваться ТОЛЬКО в память. M>>можно как-нибудь такое провернуть?
PD>WM_PRINT ему пошли. Если захочет — нарисуется.
вся засада в контролах
WM_PRINT нормально работает, но контролы себя продолжают рисовать хоть ты тресни
даже если у контрола перехватывать WM_PAINT и рисовать в память уже допустим так
SendMessage(контрол,WM_PRINT,(WPARAM)myDC,..
или так
DefWindowProc(контрол,WM_PAINT,(WPARAM)myDC,..
или функцией PrintWindow
все равно, котролы рисуют себя прямо на окно
допустим если мышкой кликнуть на кнопку
у которой
case WM_PAINT:return 0;
то кнопка нарисуется
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), которая вроде как тоже что-то отрисовывает.