INFO: Value Returned by GetWindowLong(hWnd, GWL_STYLE)ID: Q83366
|
GetWindowLong(hWnd, GWL_STYLE) returns the window style information
stored at the GWL_STYLE offset of the window data structure identified
by hWnd. This offset contains the current state of the window, rather
than the style specified when the window was created.
Windows can set and clear the following styles over the lifetime of a
window: WS_CLIPSIBLINGS, WS_DISABLED, WS_HSCROLL, WS_MAXIMIZE,
WS_MINIMIZE, WS_SYSMENU (for MDI child windows), WS_THICKFRAME,
WS_VISIBLE, and WS_VSCROLL. Windows will not dynamically set or clear
any of the other styles. An application can modify the style state at
the GWL_STYLE offset at any time by calling SetWindowLong(hWnd,
GWL_STYLE, dwNewLong), but Windows will not be aware that the style
has changed. Windows maintains some internal flags on the window style
and may use these rather than checking the GWL_STYLE offset of the
window data structure.
GetWindowLong(hWnd, GWL_STYLE) returns a LONG value, which contains
the currently active styles combined by the Boolean OR operator. An
application can change the information stored at the GWL_STYLE offset
by calling SetWindowLong(hWnd, GWL_STYLE, dwNewLong).
The following table lists the windows styles that Windows updates
throughout the life span of a window. In the Change column below, an
"S" indicates that the style is set and a "C" indicates that the style
is cleared. The Where column lists the source module involved. Windows
will change a window's styles as follows:
Style Change Window Where Why
------------------------------------------------------------------------
WS_CLIPSIBLINGS
S Overlapped WMCREATE.C Set on creation.
WS_CLIPSIBLINGS
S Popup WMCREATE.C Set on creation.
WS_DISABLED S & C Any WMACT.C Set or cleared when
EnableWindow function
disables or enables
window.
WS_HSCROLL S & C SB_HORZ WINSBCTL.C Set or cleared as scroll
bar range changed (for
window scroll bar, not the
SCROLL BAR class).
WS_HSCROLL S & C SB_HORZ SBRARE.C Set or cleared in
ShowScrollBar (for window
scroll bar, not the SCROLL
BAR class).
WS_HSCROLL S & C List boxes LBOXCTL1.C Set if scroll bar required
to see contents.
WS_HSCROLL S & C MDI frame MDIWIN.C Set if required to see
children.
WS_MAXIMIZE C Any WMCREATE.C On creation (reset
immediately in
WMMINMAX.C).
WS_MAXIMIZE C Any WMMOVE.C Cleared if window resized.
WS_MAXIMIZE S & C Any WMMINMAX.C Set if window maximized,
cleared if no longer
maximized.
WS_MINIMIZE C Any WMCREATE.C On creation (reset
immediately in
WMMINMAX.C).
WS_MINIMIZE C Any WMMOVE.C Cleared if window resized.
WS_MINIMIZE S & C any WMMINMAX.C Set if window minimized,
cleared if no longer
minimized.
WS_SYSMENU S & C MDI child MDIMENU.C Cleared if child is
maximized and uses frame
menu. Set when child no
longer maximized.
WS_THICKFRAME
S & C Any WINSBCTL.C State changed for only a
few instructions during
painting.
WS_VISIBLE C Any WMCREATE.C Cleared and then reset by
call to ShowWindow.
WS_VISIBLE S & C Any WMSHOW.C Cleared if window hidden
in ShowWindow, set if
shown.
WS_VISIBLE S & C Any WMSWP.C Cleared if window hidden
in ShowWindow, set if
shown.
WS_VISIBLE C MDI client MDIWIN.C Cleared when current MDI
child is maximized, and
new child is activated.
Immediately reset with
call to ShowWindow.
WS_VISIBLE S Desktop INLOADW.C Ensure desktop visible.
WS_VISIBLE S & C Any MSDWP.C Set or cleared when
DefWindowProc receives
WM_SETREDRAW message to
turn drawing on or off,
respectively.
WS_VISIBLE S & C MDI client MDIWIN.C Cleared and then
immediately reset to
optimize painting.
WS_VSCROLL S & C SB_VERT WINSBCTL.C Set or cleared as scroll
bar range changed (for
window scroll bar, not the
SCROLL BAR class).
WS_VSCROLL S & C List boxes LBOXCTL1.C Set if scroll bar required
to see entire contents.
WS_VSCROLL S & C MDI frame MDIWIN.C Set if required to see
children.
WS_VSCROLL S & C SB_VERT SBRARE.C Set/cleared in
ShowScrollBar (for window
scroll bar, not the SCROLL
BAR class).
Keywords : kbNTOS350 kbNTOS351 kbGrpUser kbWinOS310 kbWinOS95 kbWndw kbWndwProp kbWinOS300
Version :
Platform :
Issue type : kbinfo
Last Reviewed: March 7, 1999