I have a window, and as part of an internal diagnostic, I frame a region around it. I have a CRgn member, and whenever my window receives the WM_PAINT message, I create a CWindowDC given the Desktop window and call FrameRgn on it. This part works fine. However when my window goes away, I want to invalidate and repaint the region to remove the frame from the windows I painted over. I can't seem to figure out how to do this since the InvalidateRgn and Update API methods all take an HWND. In this case, I don't have an HWND, I just have an HRGN on the screen. What's the best way to invalidate this region without knowing what windows intersect it? Thanks!