Windows Interface Reference: Combobox structure

# Combobox

The Combobox structure contains the styles and options used in messages sent to a combobox. A combobox is a combination of a list box together with an edit control. Most control of a combobox is by means of messages. Specialised combobox messages begin with CB_. The values from the Notification substructure are sent as the code parameter in a WM_NOTIFY message.

    structure Combobox:
    sig
        structure Style:
        sig
            include BIT_FLAGS where type flags = Window.Style.flags
            val WS_OVERLAPPED: flags and WS_POPUP: flags and WS_CHILD: flags and WS_MINIMIZE: flags
            and WS_VISIBLE: flags and WS_DISABLED:flags and WS_CLIPSIBLINGS:flags
            and WS_CLIPCHILDREN:flags and WS_MAXIMIZE:flags and WS_CAPTION:flags
            and WS_BORDER:flags and WS_DLGFRAME:flags and WS_VSCROLL:flags and WS_HSCROLL:flags
            and WS_SYSMENU:flags and WS_THICKFRAME:flags and WS_GROUP:flags and WS_TABSTOP:flags
            and WS_MINIMIZEBOX:flags and WS_MAXIMIZEBOX:flags and WS_TILED:flags and WS_ICONIC:flags
            and WS_SIZEBOX:flags and WS_OVERLAPPEDWINDOW:flags and WS_TILEDWINDOW:flags
            and WS_POPUPWINDOW: flags and WS_CHILDWINDOW: flags
            and CBS_SIMPLE: flags and CBS_DROPDOWN: flags and CBS_DROPDOWNLIST: flags
            and CBS_OWNERDRAWFIXED: flags and CBS_OWNERDRAWVARIABLE: flags and CBS_AUTOHSCROLL: flags
            and CBS_OEMCONVERT: flags and CBS_SORT: flags and CBS_HASSTRINGS: flags
            and CBS_NOINTEGRALHEIGHT: flags and CBS_DISABLENOSCROLL: flags
            and CBS_UPPERCASE: flags and CBS_LOWERCASE: flags
        end

        structure Notifications:
        sig
            val CBN_SELCHANGE: int
            val CBN_DBLCLK: int
            val CBN_SETFOCUS: int
            val CBN_KILLFOCUS: int
            val CBN_EDITCHANGE: int
            val CBN_EDITUPDATE: int
            val CBN_DROPDOWN: int
            val CBN_CLOSEUP: int
            val CBN_SELENDOK: int
            val CBN_SELENDCANCEL: int
        end

        datatype CBDirAttr =
            DDL_READWRITE | DDL_READONLY | DDL_HIDDEN | DDL_SYSTEM | DDL_DIRECTORY |
            DDL_ARCHIVE | DDL_POSTMSGS | DDL_DRIVES | DDL_EXCLUSIVE
    end