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), которая вроде как тоже что-то отрисовывает.