# GUI Control Styles

This page contains a list of the common and extended styles that can be used with windows, and also specific styles that can be used with controls. These styles are used in the "style" and/or "exStyle" parameters of many of the GUI functions. To use these values you must #include the file specified at the top of each section.

Extended | Avi | Button | Checkbox | Combo | Date | Edit/Input | Label/Static | ListBox | ListView | ListView Extended | MonthCal | Progress | Slider | Tab | TreeView | UpDown

Note: The "Value" is given just for reference, you should always use the "name" of the style in order to keep your scripts readable.

Common Styles | Value | Description
--- | --- | ---
|  | #include <WindowsStylesConstants.au3>
Default/forced for GUI creation |  | $GUI_SS_DEFAULT_GUI see GUICreate function.
$WS_BORDER | 0x00800000 | Creates a window that has a thin-line border.
$WS_POPUP | 0x80000000 | Creates a pop-up window. This style cannot be used with the WS_CHILD style.
$WS_CAPTION | 0x00C00000 | Creates a window that has a title bar (includes the WS_BORDER style).
$WS_CLIPCHILDREN | 0x02000000 | Excludes the area occupied by child windows when drawing occurs within the parent window. This style is used when creating the parent window.
$WS_CLIPSIBLINGS | 0x04000000 | Clips child windows relative to each other; that is, when a particular child window receives a WM_PAINT message, the WS_CLIPSIBLINGS style clips all other overlapping child windows out of the region of the child window to be updated. If WS_CLIPSIBLINGS is not specified and child windows overlap, it is possible, when drawing within the client area of a child window, to draw within the client area of a neighboring child window.
$WS_DISABLED | 0x08000000 | Creates a window that is initially disabled.
$WS_DLGFRAME | 0x00400000 | Creates a window that has a border of a style typically used with dialog boxes.
$WS_HSCROLL | 0x00100000 | Creates a window that has a horizontal scroll bar.
$WS_MAXIMIZE | 0x01000000 | Creates a window that is initially maximized.
$WS_MAXIMIZEBOX | 0x00010000 | Creates a window that has a maximize button. Cannot be combined with the WS_EX_CONTEXTHELP style. The WS_SYSMENU style must also be specified.
$WS_MINIMIZE | 0x20000000 | Creates a window that is initially minimized.
$WS_MINIMIZEBOX | 0x00020000 | Creates a window that has a minimize button. Cannot be combined with the WS_EX_CONTEXTHELP style. The WS_SYSMENU style must also be specified.
$WS_OVERLAPPED | 0x00000000 | Creates an overlapped window. An overlapped window has a title bar and a border. Same as the WS_TILED style.
$WS_OVERLAPPEDWINDOW | 0x00CF0000 | Creates an overlapped window with the WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_THICKFRAME, WS_MINIMIZEBOX, and WS_MAXIMIZEBOX styles. Same as the WS_TILEDWINDOW style.
$WS_POPUPWINDOW | 0x80880000 | Creates a pop-up window with WS_BORDER, WS_POPUP, and WS_SYSMENU styles. The WS_CAPTION and WS_POPUPWINDOW styles must be combined to make the window menu visible.
$WS_SIZEBOX | 0x00040000 | Creates a window that has a sizing border. Same as the WS_THICKFRAME style.
$WS_SYSMENU | 0x00080000 | Creates a window that has a window menu on its title bar. The WS_CAPTION style must also be specified.
$WS_THICKFRAME | 0x00040000 | Creates a window that has a sizing border. Same as the WS_SIZEBOX style
$WS_VSCROLL | 0x00200000 | Creates a window that has a vertical scroll bar.
$WS_VISIBLE | 0x10000000 | Creates a window that is initially visible.
$WS_CHILD | 0x40000000 | Creates a child window. A window with this style cannot have a menu bar. This style cannot be used with the WS_POPUP style.
$WS_GROUP | 0x00020000 | Specifies the first control of a group of controls. The group consists of this first control and all controls defined after it, up to the next control with the WS_GROUP style.
$WS_TABSTOP | 0x00010000 | Turns the control into a tab stop, which enables the user to select the control by tabbing through the controls in a dialog box.
$DS_MODALFRAME | 0x00000080 | Creates a dialog box with a modal dialog-box frame that can be combined with a title bar and window menu by specifying the WS_CAPTION and WS_SYSMENU styles.
$DS_SETFOREGROUND | 0x00000200 | This style is useful for modal dialog boxes that require immediate attention from the user regardless of whether the owner window is the foreground window.
$DS_CONTEXTHELP | 0x00002000 | Includes a question mark in the title bar of the dialog box. Cannot be used with the WS_MAXIMIZEBOX or WS_MINIMIZEBOX styles. Same as WS_EX_CONTEXTHELP extended style.

Common Extended Styles | Value | Description
--- | --- | ---
Top |  | #include <WindowsStylesConstants.au3>
$WS_EX_ACCEPTFILES | 0x00000010 | Allow an edit or input control within the created GUI window to receive filenames via drag and drop. The control must have also the $GUI_DROPACCEPTED state set by GUICtrlSetState.
$WS_EX_APPWINDOW | 0x00040000 | Forces a top-level window onto the taskbar when the window is visible.
$WS_EX_CLIENTEDGE | 0x00000200 | Specifies that a window has a border with a sunken edge.
$WS_EX_COMPOSITED | 0x02000000 | Paints all descendants of a window in bottom-to-top painting order using double-buffering.
$WS_EX_CONTEXTHELP | 0x00000400 | Includes a question mark in the title bar of the window. Cannot be used with the WS_MAXIMIZEBOX or WS_MINIMIZEBOX.
$WS_EX_CONTROLPARENT | 0x00010000 | The window itself contains child windows that should take part in dialog box navigation. If this style is specified, the dialog manager recurses into children of this window when performing navigation operations such as handling the TAB key, an arrow key, or a keyboard mnemonic.
$WS_EX_DLGMODALFRAME | 0x00000001 | Creates a window that has a double border; the window can, optionally, be created with a title bar by specifying the WS_CAPTION style in the dwStyle parameter.
$WS_EX_LAYERED | 0x00080000 | The window is a layered window. This style cannot be used if the window has a class style of either CS_OWNDC or CS_CLASSDC. Windows 8: The WS_EX_LAYERED style is supported for top-level windows and child windows. Previous Windows versions support WS_EX_LAYERED only for top-level windows.
$WS_EX_LAYOUTRTL | 0x00400000 | Specifies that a window has a layout from right to left (RTL) instead of the standard left to right (LTR).
$WS_EX_LEFT | 0x00000000 | The window has generic left-aligned properties. This is the default.
$WS_EX_LEFTSCROLLBAR | 0x00004000 | If the shell language is Hebrew, Arabic, or another language that supports reading order alignment, the vertical scroll bar (if present) is to the left of the client area. For other languages, the style is ignored.
$WS_EX_LTRREADING | 0x00000000 | The window text is displayed using left-to-right reading-order properties. This is the default.
$WS_EX_MDICHILD | 0x00000040 | Create a child window that will be moved with its parent (simulation of a MDI window maximize/minimize are not simulated).
$WS_EX_NOACTIVATE | 0x08000000 | A top-level window created with this style does not become the foreground window when the user clicks it. The system does not bring this window to the foreground when the user minimizes or closes the foreground window. The window should not be activated through programmatic access or via keyboard navigation by accessible technology, such as Narrator. To activate the window, use the SetActiveWindow or SetForegroundWindow function. The window does not appear on the taskbar by default. To force the window to appear on the taskbar, use the WS_EX_APPWINDOW style.
$WS_EX_NOINHERITLAYOUT | 0x00100000 | The window does not pass its window layout to its child windows.
$WS_EX_NOPARENTNOTIFY | 0x00000004 | The child window created with this style does not send the WM_PARENTNOTIFY message to its parent window when it is created or destroyed.
$WS_EX_NOREDIRECTIONBITMAP | 0x00200000 | The window does not render to a redirection surface. This is for windows that do not have visible content or that use mechanisms other than surfaces to provide their visual.
$WS_EX_OVERLAPPEDWINDOW | 0x00000300 | Combines the WS_EX_CLIENTEDGE and WS_EX_WINDOWEDGE styles.
$WS_EX_PALETTEWINDOW | 0x00000188 | Combines the WS_EX_WINDOWEDGE, WS_EX_TOOLWINDOW and WS_EX_TOPMOST styles. The window is palette window, which is a modeless dialog box that presents an array of commands.
$WS_EX_RIGHT | 0x00001000 | The window has generic "right-aligned" properties. This depends on the window class. This style has an effect only if the shell language is Hebrew, Arabic, or another language that supports reading-order alignment; otherwise, the style is ignored. Using the WS_EX_RIGHT style for static or edit controls has the same effect as using the SS_RIGHT or ES_RIGHT style, respectively. Using this style with button controls has the same effect as using BS_RIGHT and BS_RIGHTBUTTON styles.
$WS_EX_RIGHTSCROLLBAR | 0x00000000 | The vertical scroll bar (if present) is to the right of the client area. This is the default.
$WS_EX_RTLREADING | 0x00002000 | If the shell language is Hebrew, Arabic, or another language that supports reading-order alignment, the window text is displayed using right-to-left reading-order properties. For other languages, the style is ignored.
$WS_EX_STATICEDGE | 0x00020000 | Creates a window with a three-dimensional border style intended to be used for items that do not accept user input.
$WS_EX_TOOLWINDOW | 0x00000080 | Creates a tool window; that is, a window intended to be used as a floating toolbar. A tool window has a title bar that is shorter than a normal title bar, and the window title is drawn using a smaller font. A tool window does not appear in the taskbar or in the dialog box that appears when the user presses ALT+TAB. If a tool window has a system menu, its icon is not displayed on the title bar. However, you can display the system menu by typing ALT+SPACE.
$WS_EX_TOPMOST | 0x00000008 | Specifies that a window created with this style should be placed above all non-topmost windows and should stay above them, even when the window is deactivated.
$WS_EX_TRANSPARENT | 0x00000020 | The window appears transparent because the bits of underlying sibling windows have already been painted.
$WS_EX_WINDOWEDGE | 0x00000100 | Specifies that a window has a border with a raised edge.
$GUI_WS_EX_PARENTDRAG | 0x00100000 | Allow the label or pic control to be used as the title bar to drag the whole the parent window. (Needs #include <GUIConstantsEx.au3>)

Checkbox Styles | Value | Description
--- | --- | ---
Top |  | #include <ButtonConstants.au3>
Default/forced |  | See GUICtrlCreateCheckbox function.
$BS_3STATE | 0x0005 | Creates a check box in which the box can be unavailable as well as selected or cleared. Use the unavailable state to show that the state of the check box is not determined.
$BS_AUTO3STATE | 0x0006 | Creates a three-state check box in which the state cycles through selected, unavailable, and cleared each time the user selects the check box.
$BS_AUTOCHECKBOX | 0x0003 | Creates a check box in which the check state switches between selected and cleared each time the user selects the check box.
$BS_CHECKBOX | 0x0002 | Creates a small, empty check box with a label displayed to the right of it. To display the text to the left of the check box, combine this flag with the BS_RIGHTBUTTON style.
$BS_LEFT | 0x0100 | Left-aligns the text in the button rectangle on the right side of the check box.
$BS_PUSHLIKE | 0x1000 | Makes a button (such as a check box, three-state check box, or radio button) look and act like a push button. The button looks raised when it isn't pushed or checked, and sunken when it is pushed or checked.
$BS_RIGHT | 0x0200 | Right-aligns text in the button rectangle on the right side of the check box.
$BS_RIGHTBUTTON | 0x0020 | Positions a check box square on the right side of the button rectangle.
$BS_GROUPBOX | 0x0007 | Creates a rectangle in which other buttons can be grouped. Any text associated with this style is displayed in the rectangle's upper-left corner.
$BS_AUTORADIOBUTTON | 0x0009 | Same as a radio button, except that when the user selects it, the button automatically highlights itself and removes the selection from any other radio buttons with the same style in the same group.

Push Button Styles | Value | Description
--- | --- | ---
Top |  | #include <ButtonConstants.au3>
Default/forced |  | See GUICtrlCreateButton, GUICtrlCreateCheckbox, GUICtrlCreateRadio functions.
$BS_BOTTOM | 0x0800 | Places the text at the bottom of the button rectangle.
$BS_CENTER | 0x0300 | Centers the text horizontally in the button rectangle.
$BS_DEFPUSHBUTTON | 0x0001 | Creates a push button with a heavy black border. If the button is in a dialog box, the user can select the button by pressing the ENTER key, even when the button does not have the input focus. This style is useful for enabling the user to quickly select the most likely option, or default.
$BS_MULTILINE | 0x2000 | Wraps the button text to multiple lines if the text string is too long to fit on a single line in the button rectangle.
$BS_TOP | 0x0400 | Places text at the top of the button rectangle.
$BS_VCENTER | 0x0C00 | Vertically centers text in the button rectangle.
$BS_ICON | 0x0040 | Specifies that the button displays an icon.
$BS_BITMAP | 0x0080 | Specifies that the button displays a bitmap.
$BS_FLAT | 0x8000 | Specifies that the button is two-dimensional; it does not use the default shading to create a 3-D image.
$BS_NOTIFY | 0x4000 | Enables a button to send BN_KILLFOCUS and BN_SETFOCUS notification messages to its parent window. Note that buttons send the BN_CLICKED notification message regardless of whether it has this style. To get BN_DBLCLK notification messages, the button must have the BS_RADIOBUTTON or BS_OWNERDRAW style.

Combo Styles | Value | Description
--- | --- | ---
Top |  | #include <ComboConstants.au3>
Default/forced |  | $GUI_SS_DEFAULT_COMBO see GUICtrlCreateCombo function.
$CBS_AUTOHSCROLL | 0x0040 | Automatically scrolls the text in an edit control to the right when the user types a character at the end of the line. If this style is not set, only text that fits within the rectangular boundary is enabled.
$CBS_DISABLENOSCROLL | 0x0800 | Shows a disabled vertical scroll bar in the list box when the box does not contain enough items to scroll. Without this style, the scroll bar is hidden when the list box does not contain enough items.
$CBS_DROPDOWN | 0x0002 | Displays only the edit control by default. The user can display the list box by selecting an icon next to the edit control.
$CBS_DROPDOWNLIST | 0x0003 | Displays a static text field that displays the current selection in the list box.
$CBS_LOWERCASE | 0x4000 | Converts to lowercase any uppercase characters that are typed into the edit control of a combo box.
$CBS_NOINTEGRALHEIGHT | 0x0400 | Specifies that the combo box will be exactly the size specified by the application when it created the combo box. Usually, Windows CE sizes a combo box so that it does not display partial items.
$CBS_OEMCONVERT | 0x0080 | Converts text typed in the combo box edit control from the Windows CE character set to the OEM character set and then back to the Windows CE set. This style is most useful for combo boxes that contain file names. It applies only to combo boxes created with the CBS_DROPDOWN style.
$CBS_SIMPLE | 0x0001 | Displays the list box at all times. The current selection in the list box is displayed in the edit control.
$CBS_SORT | 0x0100 | Sorts strings that are typed into the list box.
$CBS_UPPERCASE | 0x2000 | Converts to uppercase any lowercase characters that are typed into the edit control of a combo box.

List Styles | Value | Description
--- | --- | ---
Top |  | #include <ListBoxConstants.au3>
Default/forced |  | $GUI_SS_DEFAULT_LIST see GUICtrlCreateList function.
$LBS_DISABLENOSCROLL | 0x1000 | Shows a disabled vertical scroll bar for the list box when the box does not contain enough items to scroll. If you do not specify this style, the scroll bar is hidden when the list box does not contain enough items.
$LBS_NOINTEGRALHEIGHT | 0x0100 | Specifies that the list box will be exactly the size specified by the application when it created the list box.
$LBS_NOSEL | 0x4000 | Specifies that the user can view list box strings but cannot select them.
$LBS_NOTIFY | 0x0001 | Notifies the parent window when the user taps or double-taps a string in the list box.
$LBS_SORT | 0x0002 | Sorts strings in the list box alphabetically.
$LBS_STANDARD | 0xA00003 | Sorts strings in the list box alphabetically. The parent window receives an input message when the user taps or double-taps a string. The list box has borders on all sides. (LBS_NOTIFY | LBS_SORT | WS_VSCROLL | WS_BORDER)
$LBS_USETABSTOPS | 0x0080 | Enables a list box to recognize and expand tab characters when drawing its strings. The default tab positions are 32 dialog box units. A dialog box unit is equal to one-fourth of the current dialog box base-width unit.

Edit/Input Styles | Value | Description
--- | --- | ---
Top |  | #include <EditConstants.au3>
Default/forced |  | $GUI_SS_DEFAULT_EDIT, $GUI_SS_DEFAULT_INPUT see GUICtrlCreateEdit or GUICtrlCreateInput function.
$ES_AUTOHSCROLL | 0x0080 | Automatically scrolls text to the right by 10 characters when the user types a character at the end of the line. When the user presses the ENTER key, the control scrolls all text back to the zero position.
$ES_AUTOVSCROLL | 0x0040 | Scrolls text up one page when the user presses the ENTER key on the last line.
$ES_CENTER | 0x0001 | Centers text in a multiline edit control.
$ES_LOWERCASE | 0x0010 | Converts all characters to lowercase as they are typed into the edit control.
$ES_NOHIDESEL | 0x0100 | Negates the default behavior for an edit control. The default behavior hides the selection when the control loses the input focus and inverts the selection when the control receives the input focus. If you specify ES_NOHIDESEL, the selected text is inverted, even if the control does not have the focus.
$ES_NUMBER | 0x2000 | Accepts into the edit control only digits to be typed.
$ES_OEMCONVERT | 0x0400 | This style is most useful for edit controls that contain file names.
$ES_MULTILINE | 0x0004 | Designates a multiline edit control. The default is a single-line edit control.
$ES_PASSWORD | 0x0020 | Displays an asterisk (*) for each character that is typed into the edit control.
$ES_READONLY | 0x0800 | Prevents the user from typing or editing text in the edit control.
$ES_RIGHT | 0x0002 | Right-aligns text in a multiline edit control.
$ES_UPPERCASE | 0x0008 | Converts all characters to uppercase as they are typed into the edit control.
$ES_WANTRETURN | 0x1000 | Specifies that a carriage return be inserted when the user presses the ENTER key while typing text into a multiline edit control in a dialog box. If you do not specify this style, pressing the ENTER key has the same effect as pressing the dialog box's default push button. This style has no effect on a single-line edit control.

Progress Bar Styles | Value | Description
--- | --- | ---
Top |  | #include <ProgressConstants.au3>
$PBS_MARQUEE | 0x08 | Displays progress status as a scrolling marquee.
$PBS_SMOOTH | 0x01 | Displays progress status in a smooth scrolling bar instead of the default segmented bar. Note This style is supported only in the Windows Classic theme. All other themes won't visually change with or without this style.
$PBS_SMOOTHREVERSE | 0x10 | Displays progress status with a smooth backward transition when changing from a higher value to a lower value. By default, the control will instantly jump to the lower value. Note This style is supported only on Windows Vista or later.
$PBS_VERTICAL | 0x04 | Displays progress status vertically, from bottom to top.

Up-down Styles | Value | Description
--- | --- | ---
Top |  | #include <UpDownConstants.au3>
Default/forced |  | $GUI_SS_DEFAULT_UPDOWN see GUICtrlCreateUpdown function.
$UDS_ALIGNLEFT | 0x08 | Positions the up-down control next to the left edge of the buddy window. The buddy window is moved to the right and its width is decreased to accommodate the width of the up-down control.
$UDS_ALIGNRIGHT | 0x04 | Positions the up-down control next to the right edge of the buddy window. The width of the buddy window is decreased to accommodate the width of the up-down control.
$UDS_ARROWKEYS | 0x20 | Causes the up-down control to process the UP ARROW and DOWN ARROW keys on the keyboard.
$UDS_HORZ | 0x40 | Causes the up-down control's arrows to point left and right instead of up and down.
$UDS_NOTHOUSANDS | 0x80 | Prevents insertion of a thousands separator between every three decimal positions.
$UDS_WRAP | 0x01 | Causes the position to wrap if it is incremented or decremented beyond the end or beginning of the range.

Label/Static Styles | Value | Description
--- | --- | ---
Top |  | #include <StaticConstants.au3>
Default/forced |  | $GUI_SS_DEFAULT_LABEL, $GUI_SS_DEFAULT_ICON, $GUI_SS_DEFAULT_PIC see GUICtrlCreateLabel, GUICtrlCreateIcon, GUICtrlCreatePic functions.
$SS_BLACKFRAME | 0x07 | Specifies a box with a frame around the control that is the same color as the Window Frame. The default Windows color is black. Frame-style static controls do not display text.
$SS_BLACKRECT | 0x04 | Specifies a rectangle filled with the current window frame color. This color is black in the default color scheme. Rectangle-style static controls do not display text.
$SS_CENTER | 0x01 | Specifies a simple rectangle and centers the error value text in the rectangle. The control automatically wraps words that extend past the end of a line to the beginning of the next centered line.
$SS_CENTERIMAGE | 0x0200 | Specifies that the midpoint of a static control with the SS_BITMAP style will remain fixed when you resize the control. The four sides are adjusted to accommodate a new bitmap. If the bitmap is smaller than the control's client area, the rest of the client area is filled with the color of the pixel in the upper-left corner of the bitmap. It can be used with static control having only one line of text. This style bit do not result in unused portions of the control being filled with the color of the top left pixel of the bitmap or icon. Unused portions of the control will remain the background color.
$SS_ETCHEDFRAME | 0x12 | Draws the frame of the static control using the EDGE_ETCHED edge style. Frame-style static controls do not display text.
$SS_ETCHEDHORZ | 0x10 | Draws the top and bottom edges of the static control using the EDGE_ETCHED edge style. Frame-style static controls do not display text.
$SS_ETCHEDVERT | 0x11 | Draws the left and right edges of the static control using the EDGE_ETCHED edge style. Frame-style static controls do not display text.
$SS_GRAYFRAME | 0x08 | Specifies a box with a frame drawn with the same color as the screen background (desktop). This color is gray in the default color scheme. Frame-style static controls do not display text.
$SS_GRAYRECT | 0x05 | Specifies a rectangle filled with the current screen background color. This color is gray in the default color scheme. Rectangle-style static controls do not display text.
$SS_LEFT | 0x0000 | Specifies a simple rectangle and left-aligns the text in the rectangle. The text is formatted before it is displayed. Words that extend past the end of a line are automatically wrapped to the beginning of the next left-aligned line. Words that are longer than the width of the control are truncated.
$SS_LEFTNOWORDWRAP | 0x0C | Specifies a rectangle and left-aligns the text in the rectangle. Tabs are expanded, but words are not wrapped. Text that extends past the end of a line is clipped.
$SS_NOPREFIX | 0x80 | Prevents interpretation of any ampersand (&) characters in the control's text as accelerator prefix characters. An application can combine SS_NOPREFIX with other styles by using the bitwise OR (|) operator. This can be useful when file names or other strings that might contain an ampersand (&) must be displayed within a static control in a dialog box.
$SS_NOTIFY | 0x0100 | Sends the parent window the STN_CLICKED notification when the user clicks the control.
$SS_RIGHT | 0x0002 | Specifies a rectangle and right-aligns the specified text in the rectangle.
$SS_RIGHTJUST | 0x0400 | Specifies that the lower right corner of a static control with the SS_BITMAP or SS_ICON style is to remain fixed when the control is resized. Only the top and left sides are adjusted to accommodate a new bitmap or icon.
$SS_SIMPLE | 0x0B | Specifies a simple rectangle and displays a single line of left-aligned text in the rectangle. The text line cannot be shortened or altered in any way. Also, if the control is disabled, the control does not gray its text.
$SS_SUNKEN | 0x1000 | Draws a half-sunken border around a static control.
$SS_WHITEFRAME | 0x09 | Specifies a box with a frame drawn with the same color as the window background. This color is white in the default color scheme. Frame-style static controls do not display text.
$SS_WHITERECT | 0x06 | Specifies a rectangle filled with the current window background color. This color is white in the default color scheme. Rectangle-style static controls do not display text.

Tab Styles | Value | Description
--- | --- | ---
Top |  | #include <TabConstants.au3>
Default/forced |  | See GUICtrlCreateTab function.
$TCS_SCROLLOPPOSITE | 0x0001 | Unneeded tabs scroll to the opposite side of the control when a tab is selected.
$TCS_BOTTOM | 0x0002 | Tabs appear at the bottom of the control. This value equals TCS_RIGHT. This style is not supported if you use comctl32.dll version 6.
$TCS_RIGHT | 0x0002 | Tabs appear vertically on the right side of controls that use the TCS_VERTICAL style. This value equals TCS_BOTTOM. This style is not supported if you use visual styles.
$TCS_MULTISELECT | 0x0004 | Multiple tabs can be selected by holding down CTRL when clicking. This style must be used with the TCS_BUTTONS style.
$TCS_FLATBUTTONS | 0x0008 | Selected tabs appear as being indented into the background while other tabs appear as being on the same plane as the background. This style only affects tab controls with the TCS_BUTTONS style.
$TCS_FORCEICONLEFT | 0x0010 | Icons are aligned with the left edge of each fixed-width tab. This style can only be used with the TCS_FIXEDWIDTH style.
$TCS_FORCELABELLEFT | 0x0020 | Labels are aligned with the left edge of each fixed-width tab; that is, the label is displayed immediately to the right of the icon instead of being centered. This style can only be used with the TCS_FIXEDWIDTH style, and it implies the TCS_FORCEICONLEFT style.
$TCS_HOTTRACK | 0x0040 | Items under the pointer are automatically highlighted
$TCS_VERTICAL | 0x0080 | Tabs appear at the left side of the control, with tab text displayed vertically. This style is valid only when used with the TCS_MULTILINE style. To make tabs appear on the right side of the control, also use the TCS_RIGHT style. This style is not supported if you use comctl32.dll version 6.
$TCS_TABS | 0x0000 | Tabs appear as tabs, and a border is drawn around the display area. This style is the default.
$TCS_BUTTONS | 0x0100 | Tabs appear as buttons, and no border is drawn around the display area.
$TCS_SINGLELINE | 0x0000 | Only one row of tabs is displayed. The user can scroll to see more tabs, if necessary. This style is the default.
$TCS_MULTILINE | 0x0200 | Multiple rows of tabs are displayed, if necessary, so all tabs are visible at once.
$TCS_RIGHTJUSTIFY | 0x0000 | The width of each tab is increased, if necessary, so that each row of tabs fills the entire width of the tab control. This window style is ignored unless the TCS_MULTILINE style is also specified.
$TCS_FIXEDWIDTH | 0x0400 | All tabs are the same width. This style cannot be combined with the TCS_RIGHTJUSTIFY style.
$TCS_RAGGEDRIGHT | 0x0800 | Rows of tabs will not be stretched to fill the entire width of the control. This style is the default.
$TCS_FOCUSONBUTTONDOWN | 0x1000 | The tab control receives the input focus when clicked.
$TCS_OWNERDRAWFIXED | 0x2000 | The parent window is responsible for drawing tabs.
$TCS_TOOLTIPS | 0x4000 | The tab control has a tooltip control associated with it.
$TCS_FOCUSNEVER | 0x8000 | The tab control does not receive the input focus when clicked.

Avi Clip Styles | Value | Description
--- | --- | ---
Top |  | #include <AVIConstants.au3>
Default/forced |  | $GUI_SS_DEFAULT_AVI see GUICtrlCreateAvi function.
$ACS_AUTOPLAY | 0x04 | Starts playing the animation as soon as the AVI clip is opened.
$ACS_CENTER | 0x01 | Centers the animation in the animation control's window.
$ACS_TRANSPARENT | 0x02 | Allows you to match an animation's background color to that of the underlying window, creating a "transparent" background. (Default value)
$ACS_NONTRANSPARENT | 0x10 | To override default ACS_TRANSPARENT

Date Styles | Value | Description
--- | --- | ---
Top |  | #include <DateTimeConstants.au3>
Default/forced |  | $GUI_SS_DEFAULT_DATE see GUICtrlCreateDate function.
$DTS_UPDOWN | 0x01 | Places an up-down control to the right of a DTP control to modify time values. This style can be used instead of the drop-down month calendar, which is the default style.
$DTS_SHOWNONE | 0x02 | Enables the control to accept "no date" as a valid selection state.
$DTS_LONGDATEFORMAT | 0x04 | Displays the date in long format. The default format string for this style is defined by LOCALE_SLONGDATEFORMAT, which produces output like "Friday, April 19, 1998."
$DTS_TIMEFORMAT | 0x09 | Displays the time. The default format string for this style is defined by LOCALE_STIMEFORMAT, which produces output like "5:31:42 PM."
$DTS_RIGHTALIGN | 0x20 | The drop-down month calendar will be right-aligned with the control instead of left-aligned, which is the default.
$DTS_SHORTDATEFORMAT | 0x00 | Displays the date in short format. The default format string for this style is defined by LOCALE_SSHORTDATE, which produces output like "4/19/96".

MonthCal Styles | Value | Description
--- | --- | ---
Top |  | #include <DateTimeConstants.au3>
Default/forced |  | See GUICtrlCreateMonthCal function.
$MCS_NOTODAY | 0x10 | The month calendar control will not display the "today" date at the bottom of the control.
$MCS_NOTODAYCIRCLE | 0x08 | The month calendar control will not circle the "today" date.
$MCS_WEEKNUMBERS | 0x04 | The month calendar control will display week numbers (1-52) to the left of each row of days. Week 1 is defined as the first week that contains at least four days.

TreeView Styles | Value | Description
--- | --- | ---
Top |  | #include <TreeViewConstants.au3>
Default/forced |  | $GUI_SS_DEFAULT_TREEVIEW see GUICtrlCreateTreeView function.
$TVS_HASBUTTONS | 0x0001 | Displays plus (+) and minus (-) buttons next to parent items. The user clicks the buttons to expand or collapse a parent item's list of child items. To include buttons with items at the root of the tree view, TVS_LINESATROOT must also be specified.
$TVS_HASLINES | 0x0002 | Uses lines to show the hierarchy of items.
$TVS_LINESATROOT | 0x0004 | Uses lines to link items at the root of the tree view control. This value is ignored if TVS_HASLINES is not also specified.
$TVS_DISABLEDRAGDROP | 0x0010 | Prevents the tree view control from sending TVN_BEGINDRAG notification messages.
$TVS_SHOWSELALWAYS | 0x0020 | Causes a selected item to remain selected when the tree view control loses focus.
$TVS_RTLREADING | 0x0040 | Normal windows display text left-to-right (LTR). Windows can be mirrored to display languages such as Hebrew or Arabic that read right-to-left (RTL). Normally, tree view text will be displayed in same direction as the text in its parent window. If TVS_RTLREADING is set, tree view text will read in the opposite direction from the text in the parent window.
$TVS_NOTOOLTIPS | 0x0080 | The tree view control does not support tooltips.
$TVS_CHECKBOXES | 0x0100 | Enables check boxes for items in a tree-view control. Once a tree-view control is created with this style, the style cannot be removed. Instead, you must destroy the control and create a new one in its place.
$TVS_TRACKSELECT | 0x0200 | Enables hot tracking in a tree view control.
$TVS_SINGLEEXPAND | 0x0400 | When this style is enabled, changing the selection in the tree view will automatically cause the item being selected to expand and the item being unselected to collapse. If the mouse is used to single-click the selected item and that item is closed, it will be expanded. If the user holds the CTRL key down while selecting an item, the item being unselected will not be collapsed.
$TVS_FULLROWSELECT | 0x1000 | Enables full-row selection in the tree view. The entire row of the selected item is highlighted, and clicking anywhere on an item's row will cause it to be selected. This style cannot be used in conjunction with the TVS_HASLINES style.
$TVS_NOSCROLL | 0x2000 | Disables both horizontal and vertical scrolling in the control. The control will not display any scroll bars.
$TVS_NONEVENHEIGHT | 0x4000 | The height of the items can be set to an odd height with the TVM_SETITEMHEIGHT message. By default, the height of items must be an even value.

Slider Styles | Value | Description
--- | --- | ---
Top |  | #include <SliderConstants.au3>
Default/forced |  | $GUI_SS_DEFAULT_SLIDER see GUICtrlCreateSlider function.
$TBS_AUTOTICKS | 0x0001 | Adds tick marks when you set the range on the trackbar by using the TBM_SETRANGE message.
$TBS_BOTH | 0x0008 | Places ticks on both sides of the trackbar.
$TBS_BOTTOM | 0x0000 | Places ticks on the bottom of a horizontal trackbar.
$TBS_HORZ | 0x0000 | Specifies a horizontal trackbar. This is the default.
$TBS_VERT | 0x0002 | Places ticks on the left side of a vertical trackbar.
$TBS_NOTHUMB | 0x0080 | Specifies that the trackbar has no slider.
$TBS_NOTICKS | 0x0010 | Specifies that no ticks are placed on the trackbar.
$TBS_LEFT | 0x0004 | Places ticks on the left side of a vertical trackbar.
$TBS_RIGHT | 0x0000 | Places ticks on the right side of a vertical trackbar.
$TBS_TOP | 0x0004 | Places ticks on the top of a horizontal trackbar.

ListView Styles | Value | Description
--- | --- | ---
Top |  | #include <ListViewConstants.au3>
Default/forced |  | $GUI_SS_DEFAULT_LISTVIEW see GUICtrlCreateListView function.
$LVS_ICON | 0x0000 | This style specifies icon view.
$LVS_REPORT | 0x0001 | This style specifies report view.
$LVS_SMALLICON | 0x0002 | This style specifies small icon view.
$LVS_LIST | 0x0003 | This style specifies list view.
$LVS_EDITLABELS | 0x0200 | Item text can be edited in place.
$LVS_NOCOLUMNHEADER | 0x4000 | Column headers are not displayed in report view. By default, columns have headers in report view.
$LVS_NOSORTHEADER | 0x8000 | Column headers do not work like buttons. This style can be used if clicking a column header in report view does not carry out an action, such as sorting.
$LVS_SINGLESEL | 0x0004 | Only one item at a time can be selected.
$LVS_SHOWSELALWAYS | 0x0008 | The selection, if any, is always shown, even if the control does not have the focus.
$LVS_SORTASCENDING | 0x0010 | Item indices are sorted based on item text in ascending order.
$LVS_SORTDESCENDING | 0x0020 | Item indices are sorted based on item text in descending order.
$LVS_NOLABELWRAP | 0x0080 | Item text is displayed on a single line in icon view. By default, item text may wrap in icon view.

ListView Extended Styles | Value | Description
--- | --- | ---
Top |  | #include <ListViewConstants.au3>
$LVS_EX_FULLROWSELECT | 0x00000020 | When an item is selected, the item and all its subitems are highlighted.
$LVS_EX_GRIDLINES | 0x00000001 | Displays gridlines around items and subitems.
$LVS_EX_HEADERDRAGDROP | 0x00000010 | Enables drag-and-drop reordering of columns in a list view control.
$LVS_EX_TRACKSELECT | 0x00000008 | Enables hot-track selection in a list view control. Hot track selection means that an item is automatically selected when the cursor remains over the item for a certain period of time
$LVS_EX_CHECKBOXES | 0x00000004 | Enables check boxes for items in a list view control.
$LVS_EX_BORDERSELECT | 0x00008000 | If this style is set, when an item is selected the border color of the item changes rather than the item being highlighted.
$LVS_EX_DOUBLEBUFFER | 0x00010000 | Paints via double-buffering, which reduces flicker. This extended style also enables alpha-blended marquee selection on systems where it is supported.
$LVS_EX_FLATSB | 0x00000100 | Enables flat scroll bars in the list view.
$LVS_EX_MULTIWORKAREAS | 0x00002000 | The control will not autoarrange its icons until one or more work areas are defined.
$LVS_EX_SNAPTOGRID | 0x00080000 | In icon view, icons automatically snap into a grid.
$LVS_EX_SUBITEMIMAGES | 0x00000002 | Allows images to be displayed for subitems.
$LVS_EX_INFOTIP | 0x00000400 | Displays a tooltip when the item is not fully visible. Sends a notification message to $LVN_GETINFOTIP