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