Chce stworzyć kontrolki, które nie posiadają własnego okna tylko rysują po canvasie rodzica. Idea jest taka:
okno-rodzic dostaje komunikat WM_PAINT, pobiera update-region (GetUdateRgn) i dla każdej leżącej na regionie kontrolki wywołuje jej metode Paint. Problem w tym, aby kontrolka mogła rysować tylko po update-regionie, tak aby przypadkiem nie zamazać innej kontrolki znajdującej się nad nią samą a nie mieszczącej sie w update-region (nie będzie odrysowana).
W tym przykladzie shape leży na udate-region i bedzie odrysowany. Ale jeśli zostanie odrysowany w całości to zamaże label, który ma leżeć nad nim. Label nie będzie odrysowany, bo nie leży na update-region. Chodzi o to aby shape narysował tylko fragmen zaznaczony na różowo.
Najlepsze rozwiązanie jakie przychodzi mi do głowy to udostępnić kontrolce kopie fragmentu DC rodzica, tak aby kontrolka sobie po nim porysowała, a następnie to co narysowała przenieść zpowrotem na DC rodzica, z tym że wybierając tylko piksle należace do update-region (MaskBlt ?).
Ale wydaje mi sie że wtedy cała zabawa z rysowaniem tylko po update-region nie ma sensu i lepiej odrysować wszystkie kontrolki. Co o tym myślicie ?
Inny pomysł to rysując każdą kontrolke leżącą na update region odrysować również każdą kontrloke leżacą na tej odrysowywanej.
Zamiast regionów ewentualnie moge użyć prostokątów (GetUpdateRect).