Dragging Gray Region over multiple windows

I have a "parent" index window which contains three "child" windows: a left pane, a right pane, and a divider pane.  I want the user to be able to mouse-click on the divider pane, drag a gray region of the divider pane anywhere over all three of the "child" windows, release the mouse button, and then have all "child" windows reposition themselves.  I have everything working except for dragging the Gray region over multiple windows.  How can this be done?  DragGrayRgn() does not seem to suffice as it only drags within one window.  I am dragging in the content area of the "parent" window which is covered up by the "child" windows.  How can I see the Dragged region while at the same time showing my "child" windows?  Please Help!
Who is Participating?
roovConnect With a Mentor Commented:
The easiest way would probably be to track the dragging your self (using StillDown() ).

This code is the skeleton, let me know if you need more...
Point mouseLoc, lastMouseLoc = {-1,-1};
while (::StillDown()) {
      if ((mouseLoc.h != lastMouseLoc.h) ||
            (mouseLoc.v != lastMouseLoc.v))
            // we moved...
            lastMouseLoc = mouseLoc;
            // undraw previous region (using xor mode...)
            // draw new region, using xor mode...                  

osibrianAuthor Commented:
The better solution I found was to Create a Graphics Port (not a Window) the same size as the Entire Desktop under the menu bar. (See GetGrayRgn()). Then I copy some of the info from GetGrayRgn() into my new Graphics Port.  Once this is done, I can use DragGrayRgn() to accomplish the task of dragging my Gray Region over any number of windows at once.  The effect is just what I wanted.  If any of you would like the same code for doing this, send me an E-mail.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.