Доброго времени суток.
Известно, что в WinCE все окна создаются с такими стилями.
Опишу проблему на конкретном примере.
Допустим, у меня есть картинка (простой CWnd) с прозрачностью. Т.е. есть "прозрачные места". Извините за какой-то чудовищный слог. Хотелось бы, чтобы "за картинкой" (т.е более точно, в тех местах, где она прозрачна) отображлось то, что было отрисовано ранее (контролы, фон диалога и т.п.). Однако, например, если картинка — ребенок диалога, то он убирает ее прямоугольник из области отсечения (из-за стиля WS_CLIPCHILDREN) и его фон в этих местах не отрисуется. Поэтому в тех местах, где картинка прозрачна останется "старый бэкграунд" вплоть до рабочего стола.
В этом простейшем случае, еще можно как-то воздейстовать на ситуацию, на CTLCOLOR получая весь контекст при помощи GetDCEx и заливая чем нужно. Однаку если картинка находиться уже над контролом — дело плохо. Если пытаться брать весь конекст в отрисовке (WM_PAINT) контрола, то возникает "моргание", которое, конечно же недопустимо.
Вариант с "хайдить окно при отрисовке, ждать обновления, получать картинку бэкгранда, а затем отрисвываться самим" — не предлагать

(а то видел тут аналогичный пост).
Ах, да... может можно просто убрать эти стили (и как — SetWindowLong отрабатывает но эффекта не производит)? Не вызовет это-ли злополоучное мигание?
Очень жду ваших комментариев.