INF: Overlapping Controls Are Not Supported by Windows

ID Number: Q79981

1.x 2.x 3.00

WINDOWS

Summary :

Child window controls should not be overlapped in applications for the

Windows operating system. When one control overlaps another control,

or another child window, the borders shared by the controls may not be

drawn properly. Overlapping control may confuse the user of the

application because clicking the mouse in the common area may not

activate the control that the user intended to activate. This behavior

is a consequence of the way that Windows is designed.

More Information :

The following example illustrates the painting problems caused by the

ambiguity of overlapping borders. Consider three edit controls, called

A, B and C, which overlap each other and an enclosing child window D

as shown below:

____________________________________________

| | A | B | C | |

| ---------------------------------------- |

| D |

--------------------------------------------

Assume that control B has the focus. If this set of controls is

covered by another window, which is subsequently moved away, Windows

will send a series of client and nonclient messages to each of the

controls and to the enclosing child window. The result of these

messages may appear as the illustration below, where the portion of

window B's border that overlapped with part of window D's border is

missing:

_______________ ________________

| | A | B | C | |

| ---------------------------------------- |

| D |

--------------------------------------------

Repainting problems related to overlapping controls may vary depending

on the version of Windows used.

Additional reference words: 1.x 2.x 3.00 CS_PARENTDC WS_CLIPCHILDREN

WS_CLIPSIBLINGS WM_NCPAINT WM_PAINT