|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
Child Windows
A child window is a window with the WS_CHILD or WS_CHILDWINDOW style. Like other window styles, child windows receive WM_PAINT messages to prompt updating. Each child window has an update region, which either Windows or the application can set to generate eventual WM_PAINT messages.
A child window's update and visible regions are affected by the child's parent window; this is not true for windows of other styles. Windows often sets the child window's update region when it sets the parent window's update region, causing the child window to receive WM_PAINT messages when the parent window receives them. Windows limits the location of the child window's visible region to within the client area of the parent window and clips any portion of the child window moved outside the parent window.
Windows sets the update region for a child window whenever part of the parent window's update region includes a portion of the child window. In such cases, Windows first sends a WM_PAINT message to the parent window and then sends a message to the child window, allowing the child to restore any portions of the window that the parent may have drawn over. Windows does not set the parent's update region when the child's is set. An application cannot generate a WM_PAINT message for the parent window by invalidating the child window. Similarly, an application cannot generate a WM_PAINT message for the child by invalidating a portion of the parent's client area that lies entirely under the child window. In such cases, neither window receives a WM_PAINT message.
An application can prevent a child window's update region from being set when the parent window's is set by specifying the WS_CLIPCHILDREN style when creating the parent window. When this style is set, Windows excludes the child windows from the parent's visible region and therefore ignores any portion of the update region that may contain the child windows. When the application paints in the parent window, any drawing that would cover the child window is clipped, making a subsequent WM_PAINT message to the child window unnecessary.
The update and visible regions of a child window are also affected by the child window's siblings. Sibling windows are any windows that have a common parent window. If sibling windows overlap, then setting the update region for one affects the update region of another, causing WM_PAINT messages to be sent to both windows. Sibling windows receive WM_PAINT messages in the reverse order of their position in the Z order. Given this, the window highest in the Z order (on the top) receives its WM_PAINT message last, and vice versa.
Sibling windows are not automatically clipped. One sibling can draw over another overlapping sibling even if the window that is drawing has a lower position in the Z order. An application can prevent this by specifying the WS_CLIPSIBLINGS style when creating the windows. When this style is set, Windows excludes all portions of an overlapping sibling window from a window's visible region if the overlapping sibling window has a higher position in the Z order.
Note The update and visible regions for windows that have the WS_POPUP or WS_POPUPWINDOW style are not affected by their parent windows.
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
Окно Ребенка
Окно ребенка является окном с WS_CHILD или стилем WS_CHILDWINDOW. Подобно другим стилям окна, приемник окна сообщений ребенка WM_PAINT в быстрое обновление. Каждое окно ребенка имеет регион коррекции, какое или Окно или приложение могут установить, чтобы генерировать возможные сообщения WM_PAINT.
Коррекция окна ребенка и видимых регионов поражены родительским окном ребенка; это - не истина для окна других стилей. Окно часто устанавливает регион коррекции окна ребенка когда оно устанавливает регион коррекции родительского окна, вызывающий окно ребенка, чтобы получать сообщения WM_PAINT когда родительское окно получает его. Окно ограничивает позицию окна ребенка видимого региона, чтобы в пределах области клиента родительского окна и вырезает любую часть окна ребенка перемещенного за пределами родительского окна.
Окно устанавливает регион коррекции для окна ребенка всякий раз, когда часть региона коррекции родительского окна включает часть окна ребенка. В таких случаях, Окно сначала посылает сообщение WM_PAINT в родительское окно затем посылает сообщение в окно ребенка, допуская ребенка, чтобы восстанавливать любые части окна над которым родитель может сделать. Окно не делает устанавливать родительский регион коррекции когда ребенок установлен. Приложение не может сгенерировать сообщение WM_PAINT для родительского окна аннулируя окно ребенка. Аналогично, приложение не может сгенерировать сообщение WM_PAINT для ребенка аннулируя часть родительской области клиента, который лежит (лгать) полностью под окном ребенка. В таких случаях, никакое окно не получает сообщение WM_PAINT.
Приложение может предохранить регион коррекции окна ребенка от установленное когда родитель окно установлен определяя стиль WS_CLIPCHILDREN при создании родительского окна. Когда этот стиль установлен, Окно исключает окно ребенка из родительского видимого региона и следовательно игнорирует любую часть региона коррекции, которая может содержать окно ребенка. Когда приложение закрашивается в родительском окне, любом чертеже, которые должны покрывать окно ребенка вырезаны, делая последующим сообщением WM_PAINT в окно ребенка необязательно.
Коррекция и видимые регионы окна ребенка также поражены детьми одних родителей окна ребенка. Окно Брата является любым окном, которое имеет общее родительское окно. Если перекрытие окна брата, затем устанавливая регион коррекции для одного влияет на регион коррекции другого, вызывающий сообщения WM_PAINT, которые нужно посылаться в оба окна. Приемник окна сообщений Брата WM_PAINT в обратном порядке их позиции в порядке Z. Давшее это, окно самое верхнее в порядке Z (на верхе), получает свое сообщение WM_PAINT последний раз, и наоборот.
Окно Брата автоматически не вырезано. Один брат может сделать над другим перекрытием брата даже если бы окно, которое - чертеж имеет более низкую позицию в порядке Z. Приложение может предохранить это определяя стиль WS_CLIPSIBLINGS при создании окна. Когда этот стиль установлен, Окно исключает все части перекрывающего окна брата из видимого региона окна если перекрывающее окно брата имеет более высокую позицию в порядке Z.
Отметьте коррекцию и видимые регионы для окна, что иметь WS_POPUP или стиль WS_POPUPWINDOW не поражен их родительским окном.
|
|
|
|
| |