Control Styles

The following table shows window control styles that are supported by Windows CE.

Check box styles Description
BS_3STATE 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 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 Creates a check box in which the check state switches between selected and cleared each time the user selects the check box.
BS_CHECKBOX 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 Left-aligns the text in the button rectangle on the right side of the check box.
BS_RIGHT Right-aligns text in the button rectangle on the right side of the check box.
BS_RIGHTBUTTON Positions a check box square on the right side of the button rectangle.
WS_TABSTOP Turns the control into a tab stop, which enables the user to select the control by tabbing through the controls in a dialog box.

Combo box styles Description
CBS_AUTOHSCROLL 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 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 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 Displays a static text field that displays the current selection in the list box.
CBS_LOWERCASE Converts to lowercase any uppercase characters that are typed into the edit control of a combo box.
CBS_NOINTEGRALHEIGHT 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 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_SORT Sorts strings that are typed into the list box.
CBS_UPPERCASE Converts to uppercase any lowercase characters that are typed into the edit control of a combo box.
WS_TABSTOP Turns control into a tab stop, which enables the user to select the control by tabbing through the controls in a dialog box.

Edit control styles Description
ES_AUTOHSCROLL 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 Scrolls text up one page when the user presses the ENTER key on the last line.
ES_CENTER Centers text in a multiline edit control.
ES_COMBOBOX Indicates that the edit control is part of a combo box
ES_LEFT Left-aligns text.
ES_LOWERCASE Converts all characters to lowercase as they are typed into the edit control.
ES_MULTILINE Designates a multiline edit control. The default is a single-line edit control.

When the multiline edit control is in a dialog box, the default response to pressing the ENTER key is to activate the default button. To use the ENTER key as a carriage return, use the ES_WANTRETURN style.

When the multiline edit control is not in a dialog box and the ES_AUTOVSCROLL style is specified, the edit control shows as many lines as possible and scrolls vertically when the user presses the ENTER key. If you do not specify ES_AUTOVSCROLL, the edit control shows as many lines as possible and beeps if the user presses the ENTER key when no more lines can be displayed.

If you specify the ES_AUTOHSCROLL style, the multiline edit control automatically scrolls horizontally when the caret goes past the right edge of the control. To start a new line, the user must press the ENTER key. If you do not specify ES_AUTOHSCROLL, the control automatically wraps words to the beginning of the next line when necessary. A new line is also started if the user presses the ENTER key. The window size determines the position of the word wrap. If the window size changes, the word wrapping position changes and the text is redisplayed.

Multiline edit controls can have scroll bars. An edit control with scroll bars processes its own scroll bar messages. Edit controls without scroll bars scroll as described in the previous paragraphs and process any scroll messages that are sent by the parent window.

ES_NOHIDESEL 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 Accepts into the edit control only digits to be typed.
ES_OEMCONVERT Converts text typed in the edit control from the Windows CE character set to the OEM character set and then converts it back to the Windows CE set. This style is most useful for edit controls that contain file names.
ES_PASSWORD Displays an asterisk (*) for each character that is typed into the edit control. You can use the EM_SETPASSWORDCHAR message to change the displayed character.
ES_READONLY Prevents the user from typing or editing text in the edit control.
ES_RIGHT Right-aligns text in a multiline edit control.
ES_UPPERCASE Converts all characters to uppercase as they are typed into the edit control.
ES_WANTRETURN 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.
WS_TABSTOP Turns the control into a tab stop, which enables the user to select the control by tabbing through the controls in a dialog box.

List box styles Description
LBS_DISABLENOSCROLL 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_EXTENDEDSEL Enables the user to select multiple items by using the SHIFT key and the mouse or hot keys.
LBS_MULTICOLUMN Specifies a multicolumn list box that the user scrolls through horizontally. You set the width of the columns by using the LB_SETCOLUMNWIDTH message.
LBS_MULTIPLESEL Turns string selection on or off each time a user taps or double-taps a string in the list box. A user can select any number of strings simultaneously.
LBS_NOINTEGRALHEIGHT Specifies that the list box will be exactly the size specified by the application when it created the list box. Usually, Windows CE sizes a list box so that it does not display partial items.
LBS_NOREDRAW Ensures that the list box appearance is not automatically updated when changes are made. You can change this style by sending a WM_SETREDRAW message.
LBS_NOSEL Specifies that the user can view list box strings but cannot select them.
LBS_NOTIFY Notifies the parent window when the user taps or double-taps a string in the list box.
LBS_SORT Sorts strings in the list box alphabetically.
LBS_STANDARD 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_USETABSTOPS 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. Windows CE calculates these units based on the height and width of the current system font.
LBS_WANTKEYBOARDINPUT Specifies that the owner of the list box receives WM_VKEYTOITEM messages when the user presses a key and the list box has the input focus. This enables an application to perform special processing on the keyboard input.
WS_TABSTOP Turns the control into a tab stop, which enables the user to select the control by tabbing through the controls in a dialog box.

Push button styles Description
BS_BOTTOM Places the text at the bottom of the button rectangle.
BS_CENTER Centers the text horizontally in the button rectangle.
BS_DEFPUSHBUTTON 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_LEFT Left-aligns the text in the button rectangle.
BS_NOTIFY Enables a button to send BN_DBLCLK, BN_KILLFOCUS, and BN_SETFOCUS notification messages to its parent window. Note that the button sends the BN_CLICKED notification message regardless of whether it has this style.
BS_OWNERDRAW Creates an owner-drawn button. The owner window receives a WM_MEASUREITEM message when the button is created and a WM_DRAWITEM message when a visual aspect of the button has changed.
BS_PUSHBUTTON Creates a push button that posts a WM_COMMAND message to the owner window when the user clicks the button.
BS_RIGHT Right-aligns text in the button rectangle.
BS_TOP Places text at the top of the button rectangle.
BS_VCENTER Vertically centers text in the button rectangle.
WS_TABSTOP Turns the control into a tab stop, which enables the user to select the control by tabbing through the controls in a dialog box.

Radio button styles Description
BS_AUTORADIOBUTTON Creates a radio button that, when selected by a user, clears all other buttons in the same group.
BS_LEFT Left-aligns the text in the button rectangle on the right side of the check box.
BS_RADIOBUTTON Creates a small circle with a label displayed to the right of it. To display the text to the left of the circle, combine this flag with the BS_RIGHTBUTTON style.
BS_RIGHT Right-aligns the text in the button rectangle on the right side of the check box.
BS_RIGHTBUTTON Positions a check box square on the right side of the button rectangle.
WS_TABSTOP Turns the control into a tab stop, which enables the user to select the control by tabbing through the controls in a dialog box.

Scroll bar styles Description
SBS_HORZ Designates a horizontal scroll bar. If you do not specify the SBS_TOPALIGN style, the scroll bar has the height, width, and position specified by the parameters of the CreateWindow function.
SBS_VERT Designates a vertical scroll bar. If you do not specify the SBS_LEFTALIGN style, the scroll bar has the height, width, and position specified by the parameters of the CreateWindow funtcion.

Static control styles Description
SS_BITMAP Specifies that a bitmap will be displayed in the static control. The text is the name of a bitmap that is defined elsewhere in the resource file, not a file name. The style ignores the nWidth and nHeight parameters; the control automatically sizes itself to accommodate the bitmap.
SS_CENTER Specifies a simple rectangle and centers the error value text in the rectangle. Windows CE formats the text before display. The control automatically wraps words that extend past the end of a line to the beginning of the next centered line.
SS_CENTERIMAGE 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.
SS_ICON Specifies that an icon will be displayed in the static control. The text is the name of an icon defined elsewhere in the resource file, not a file name. The style ignores the nWidth and nHeight parameters; the icon automatically sizes itself.
SS_LEFT Specifies a rectangle and left-aligns the text in the rectangle. Windows CE formats the text before display. The control automatically wraps words that extend past the end of a line to the beginning of the next left-aligned line.
SS_LEFTNOWORDWRAP 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 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 Sends the parent window the STN_CLICKED notification when the user clicks the control.
SS_RIGHT Specifies a rectangle and right-aligns the specified text in the rectangle. Windows CE formats the text before display. The control automatically wraps words that extend past the end of a line to the beginning of the next right-aligned line.

Trackbar control styles Description
TBS_AUTOTICKS The trackbar control will have a tick mark for each increment in its range of values.
TBS_BOTH The trackbar control will display tick marks on both sides of the control. This will be both top and bottom when used with TBS_HORZ or both left and right if used with TBS_VERT.
TBS_BOTTOM The trackbar control will display tick marks below the control. This style is only valid with TBS_HORZ.
TBS_ENABLESELRANGE The trackbar control can display a selection range only. The tick marks at the starting and ending positions of a selection range are displayed as triangles (instead of vertical dashes), and the selection range is highlighted.
TBS_FIXEDLENGTH The trackbar control allows the size of the slider to be changed with the TBM_SETTHUMBLENGTH message.
TBS_HORZ The trackbar control will be oriented vertically. This is the default orientation.
TBS_LEFT The trackbar control will display tick marks to the left of the control. This style is only valid with TBS_VERT.
TBS_NOTHUMB The trackbar control does not display a slider.
TBS_NOTICKS The trackbar control will not display any tick marks.
TBS_RIGHT The trackbar control will display tick marks to the right of the control. This style is only valid with TBS_VERT.
TBS_TOP The trackbar control will display tick marks above the control. This style is only valid with TBS_HORZ.
TBS_VERT The trackbar control will be oriented vertically. This is the default orientation.

The following table shows common control styles that are supported by
Windows CE.

Basic common control styles Description
CCS_ADJUSTABLE Enables a toolbar’s built-in customization features, which enable the user to drag a button to a new position or to remove a button by dragging it off the toolbar. In addition, the user can double-click the toolbar to display the Customize Toolbar dialog box, which enables the user to add, delete, and rearrange toolbar buttons.
CCS_BOTTOM Causes the control to position itself at the bottom of the parent window’s client area and sets the width of the control to be the same as the parent window’s width. Status windows have this style by default.
CCS_LEFT Causes the control to display vertically on the left side of the parent window.
CCS_NODIVIDER Prevents a 2-pixel highlight from being drawn at the top of the control.
CCS_NOMOVEX Causes the control to resize and move itself vertically, but not horizontally, in response to a WM_SIZE message. This message does not apply if your control has the CCS_NORESIZE style.
CCS_NOMOVEY Causes the control to resize and move itself horizontally, but not vertically, in response to a WM_SIZE message. Header windows have this style by default. This style does not apply if your control has the CCS_NORESIZE style.
CCS_NOPARENTALIGN Prevents the control from automatically moving to the top or bottom of the parent window. Instead, the control keeps its position within the parent window despite changes to the size of the parent. If the application also uses the CCS_TOP or CCS_BOTTOM styles, it adjusts the height to the default, but does not change the position and width of the control.
CCS_NORESIZE Prevents the control from using the default width and height when setting its initial size or a new size. Instead, the control uses the width and height that is specified in the request for creation or sizing.
CCS_RIGHT Causes the control to display vertically on the right side of the parent window.
CCS_TOP Causes the control to position itself at the top of the parent window client area and matches the width of the control to the width of the parent window. Toolbars have this style by default.
CCS_VERT Causes the control to display vertically.

Date and time picker styles Description
DTS_APPCANPARSE Enables the owner to parse user input. When a date time picker (DTP) control has this style, a user can make changes within the client area of the control by pressing the F2 key. The control sends a DTN_USERSTRING notification message when the user is finished editing.
DTS_LONGDATEFORMAT 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_SHORTDATEFORMAT Displays the date in short format. The default format string for this style is defined by LOCALE_SSHORTDATE, which produces output like “4/19/98.”
DTS_SHOWNONE Enables the control to accept “no date” as a valid selection state. This state can be set with the DTM_SETSYSTEMTIME message or verified with the DTM_GETSYSTEMTIME message.
DTS_TIMEFORMAT Displays the time. The default format string for this style is defined by LOCALE_STIMEFORMAT, which produces output like “5:31:42 PM.” An up-down control is placed to the right of the DTP control to modify time values.
DTS_UPDOWN 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.

Header control styles Description
HDS_BUTTONS Causes each header item to look and behave like a button. This style is useful if an application carries out a task when the user clicks an item in the header control.
HDS_DRAGDROP Enables drag-and-drop reordering of header items.
HDS_FULLDRAG Causes the header control to display column contents even while a user resizes a column.
HDS_HIDDEN Creates a header control that you can hide by setting its height to zero. This style is useful when you use the control as an information container instead of a visual control.
HDS_HORZ Creates a horizontal header control.

List view styles Description
LVS_ALIGNLEFT Specifies that items are left-aligned in icon view and small icon view.
LVS_ALIGNTOP Specifies that items are aligned with the top of the list view control in icon view and small icon view.
LVS_AUTOARRANGE Specifies that icons automatically remain arranged in icon view and small icon view.
LVS_EDITLABELS Enables item text to be edited in place. The parent window must process the LVN_ENDLABELEDIT notification message.
LVS_EX_CHECKBOXES Enables items in a list view control to be displayed as check boxes. This style uses item state images to produce the check box effect.
LVS_EX_FULLROWSELECT Specifies that when an item is selected, the item and all of its subitems are highlighted. This style is available only in conjunction with the LVS_REPORT style.
LVS_EX_GRIDLINES Displays gridlines around items and subitems. This style is available only in conjunction with the LVS_REPORT style.
LVS_EX_HEADERDRAGDROP Enables drag-and-drop reordering of columns in a list view control. This style is only available to list view controls that use the LVS_REPORT style.
LVS_EX_SUBITEMIMAGES Enables images to be displayed for subitems. This style is available only in conjunction with the LVS_REPORT style.
LVS_ICON Specifies icon view.
LVS_LIST Specifies list view.
LVS_NOCOLUMNHEADER Specifies that no column header is displayed in report view, which is the default view.
LVS_NOLABELWRAP Displays item text on a single line in icon view. By default, item text might wrap in icon view.
LVS_NOSCROLL Disables scrolling, so all items must be displayed within the client area.
LVS_NOSORTHEADER Specifies that column headers do not work like buttons. This style is useful if clicking a column header in report view does not carry out any action, such as sorting.
LVS_OWNERDATA Creates a virtual list view control.
LVS_OWNERDRAWFIXED Enables the owner window to paint items in report view. The list view control sends a WM_DRAWITEM message to paint each item; it does not send separate messages for each subitem. The itemData member of the DRAWITEMSTRUCT structure contains the item data for the specified list view item.
LVS_REPORT Specifies report view.
LVS_SHAREIMAGELISTS Specifies that the control does not destroy the image lists assigned to it when it is destroyed. This style enables the same image lists to be used with multiple list view controls.
LVS_SHOWSELALWAYS Always shows the selection highlighted, even if the control is not activated.
LVS_SINGLESEL Enables only one item to be selected at a time. By default, multiple items can be selected.
LVS_SMALLICON Specifies small icon view.
LVS_SORTASCENDING Sorts items based on item text in ascending order.
LVS_SORTDESCENDING Sorts items based on item text in descending order.

Month calendar control styles Description
MCS_DAYSTATE Specifies that the month calendar will send MCN_GETDAYSTATE notifications to request information about which days should be displayed in bold.
MCS_MULTISELECT Enables the user to select a range of dates. By default, the maximum range is one week. You can change the maximum selectable range by using the MCM_SETMAXSELCOUNT message.
MCS_NOTODAY Creates a month calendar that does not display a Today selection.
MCS_NOTODAYCIRCLE Creates a month calendar that does not circle the current date.
MCS_WEEKNUMBERS Displays the week number, from 1 through 52, to the left of each week in the calendar.

Progress Bar Styles Description
PBS_SMOOTH Displays progress status in a smooth scrolling bar instead of the default segmented bar.
PBS_VERTICAL Displays progress status vertically, from bottom to top.

Rebar styles Description
CCS_VERT Causes the control to appear vertically at the left side of the parent window.
RBBS_NOGRIPPER Creates a rebar band that displays no gripper. This style applies to individual bands, not to the entire rebar. Windows CE is the only Windows-based OS that supports the RBS_NOGRIPPER style for rebar controls.
RBS_AUTOSIZE Specifies that the layout of a band will automatically change when the size or position of its control changes. When the layout changes, the control sends an RBN_AUTOSIZE notification.
RBS_BANDBORDERS Displays narrow lines to separate adjacent bands.
RBS_FIXEDORDER Displays multiple bands in the same order at all times. A user can move bands to different rows, but the band order is static.
RBS_SMARTLABELS Displays the icon for a band that has an icon only when the band is minimized. If a band has a text label, the label is displayed only when the band is in its restored state or in its maximized state.
Windows CE is the only Windows-based OS that supports the RBS_SMARTLABELS style for rebar controls.
RBS_VARHEIGHT Displays a band at the minimum required height, when possible. Without this style, the command bands control displays all bands at the same height, using the height of the tallest visible band to determine the height of other bands.
RBS_VERTICALGRIPPER Displays the size grip vertically, instead of horizontally, in a vertical command bands control. This style is ignored for command bands controls that do not have the CCS_VERT style.

Tab control styles Description
TCS_BOTTOM Displays the tabs at the bottom of the control. If the TCS_VERTICAL style is also specified, this style is interpreted as TCS_RIGHT.
TCS_BUTTONS Displays all tabs as buttons with no border drawn around the display area.
TCS_FIXEDWIDTH Specifies that all tabs are the same width. You can not combine this style with the TCS_RIGHTJUSTIFY style.
TCS_FLATBUTTONS Changes the appearance of a selected tab to indented while other tabs appear to be on the same plane as the background. This style only applies to tab controls that have the TCS_BUTTONS style.
TCS_FLIP Flips all tabs from top to bottom or left to right.
TCS_FOCUSNEVER Creates a tab control that never receives the input focus.
TCS_FOCUSONBUTTONDOWN Specifies that a given tab, when selected, receives the input focus.
TCS_FORCEICONLEFT Aligns an icon with the left edge of a fixed-width tab. This style can only be used with the TCS_FIXEDWIDTH style.
TCS_FORCELABELLEFT Aligns a label with the left edge of a fixed-width tab; that is, it displays the label immediately to the right of the icon instead of centering it. This style can only be used with the TCS_FIXEDWIDTH style, and it implies the TCS_FORCEICONLEFT style.
TCS_MULTILINE Displays multiple rows of tabs, if necessary, so that all tabs are visible at once.
TCS_MULTISELECT Specifies that multiple tabs can be selected by holding down CTRL when selecting a tab. This style only applies to tabs that have the TCS_BUTTONS style.
TCS_OWNERDRAWFIXED Specifies that the parent window is responsible for drawing tabs.
TCS_RAGGEDRIGHT Leaves a ragged right edge by not stretching a row of tabs to fill the entire width of the control. This style is the default.
TCS_RIGHT Displays multiple tabs vertically on the right side of controls that use the TCS_VERTICAL style. If the TCS_VERTICAL style is not specified, this style is interpreted as TCS_BOTTOM.
TCS_RIGHTJUSTIFY Increases the width of each tab, if necessary, so that each row of tabs fills the entire width of the tab control. This style is valid only when it is used with the TCS_MULTILINE style.
TCS_SCROLLOPPOSITE Specifies that unused tabs move to the opposite side of the control when a new tab is selected.
TCS_SINGLELINE Displays only one row of tabs. The user can scroll to see more tabs, if necessary. This style is the default.
TCS_VERTICAL Displays multiple tabs vertically on the left side of the control. This style is valid only when it is used with the TCS_MULTILINE style. To make tabs appear on the right side of the control, combine this style with the TCS_RIGHT style.

Toolbar styles Description
TBSTYLE_AUTOSIZE Calculates a button width based on the text of the button, not on the size of the image.
TBSTYLE_BUTTON Creates a toolbar button that looks like a standard Windows CE push button.
TBSTYLE_CHECK Creates a button that toggles between the pressed and not pressed states each time the user clicks it. The button has a different background color when it is in the pressed state.
TBSTYLE_CHECKGROUP Creates a check button that stays pressed until another button in the group is pressed.
TBSTYLE_CUSTOMERASE Creates a toolbar that generates NM_CUSTOMDRAW notification messages when it processes WM_ERASEBKGND messages.
TBSTYLE_DROPDOWN Creates a drop-down list button.
TBSTYLE_FLAT Creates a flat toolbar, in which both the toolbar and the buttons are transparent. Button text appears under button bitmaps.
TBSTYLE_GROUP Creates a button that stays pressed until another button in the group is pressed.
TBSTYLE_LIST Places button text to the right of button bitmaps. This style can only be used with the TBSTYLE_FLAT style. In Windows CE, the TBSTYLE_LIST style creates a toolbar with variable width buttons. If you want to use the TBSTYLE_LIST style with fixed width buttons, you can override the default behavior by sending a TB_SETBUTTONSIZE or TB_SETBUTTONWIDTH message.
TBSTYLE_SEP Creates a separator, which provides a small gap between button groups. A button that has this style does not receive user input.
TBSTYLE_TOOLTIPS Creates a ToolTip control that an application can use to display descriptive text for the buttons in the toolbar.
TBSTYLE_TRANSPARENT Creates a transparent toolbar, in which the toolbar is transparent, but the buttons are not. Button text appears under button bitmaps.
TBSTYLE_WRAPABLE Creates a toolbar that can have multiple rows of buttons. Toolbar buttons can wrap to the next line when the toolbar becomes too narrow to include all buttons on the same line. Wrapping occurs on separation and non-group boundaries.

Tree view styles Description
TVS_CHECKBOXES Enables items in a tree view control to be displayed as check boxes. This style uses item state images to produce the check box effect.
TVS_DISABLEDRAGDROP Prevents the tree view control from sending TVN_BEGINDRAG notification messages.
TVS_EDITLABELS Enables the user to edit the labels of tree view items.
TVS_HASBUTTONS Displays plus (+) and minus (-) buttons next to parent items. The user taps 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, you must also specify the TVS_LINESATROOT style.
TVS_HASLINES Uses lines to show the hierarchy of items.
TVS_LINESATROOT Uses lines to link items at the root of the tree view control. This value is ignored if the TVS_HASLINES control is not also specified.
TVS_SHOWSELALWAYS Uses the system highlight colors to draw the selected item.
TVS_SINGLESEL Specifies that when a new tree view item is selected, the selected item will automatically expand and the previously selected item will collapse.

Up-down control styles Description
UDS_ALIGNLEFT 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 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 Causes the up-down control to process the UP ARROW and DOWN ARROW keys on the keyboard.
UDS_AUTOBUDDY Automatically elects the previous window in the z-order as the up-down control’s buddy window. In Windows CE, the window must be an edit control.
UDS_HORZ Causes the up-down control’s arrows to point left and right instead of up and down.
UDS_NOTHOUSANDS Prevents insertion of a thousands separator between every three decimal positions.
UDS_SETBUDDYINT Causes the up-down control to set the text of the buddy window, using the WM_SETTEXT message, when the position changes. The text consists of the position formatted as a decimal or hexadecimal string.
UDS_WRAP Causes the position to wrap if it is incremented or decremented beyond the end or beginning of the range.