PDA

Просмотр полной версии : Тонкости Оконных Перерисовок



Sera
15.07.2005, 16:58
Всем - Здраствуйте!

Есть окно, у которого достаточно сложная перересовка.
Когда я создаю дочернее к нему окно (пока с пустой перерисовкой), то вижу на родительском окне "грязный" прямоугольник дочернего окна. Все вполне логично.

Дело в том, что мне нужно, чтобы дочернее окно не перерисовывало свой клиентский прямоугольник, а рисовало поверх родительского (как бы на прозрачном фоне).
Полагаю, что дело в стилях (WNDCLASS.cs или других), но пока разобраться не могу.

Подскажите что-нибудь, пожалуйста.
Заранее спасибо.

ssDev
18.07.2005, 07:44
По идее если ты создаеш родительское окно без стиля WS_CLIPCHILDREN и блокируеш WM_ERASEBKGND в дочернем окне то все должно работать. (Конечно может быть еще много разных фич) :evil:

Eugie
18.07.2005, 11:57
Можно еще для дочернего окна задать пустую кисть (HOLLOW_BRUSH) - эффект тот же.
Начиная с Win2000 появилась возможность использовать полупрозрачные (layered) окна, см. http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwui/html/layerwin.asp

Sera
18.07.2005, 13:44
Большое спасибо, ssDev, дело все-таки оказалось в ненужном WS_CLIPCHILDREN родительского окна.