### IComboBox

  The IComboBox class extends the IBaseComboBox combination box's control window creation and management to include adding, removing and replacing items in the combination box list box.

  Handlers derived from the following classes handle events for IComboBox objects:

  - IEditHandler
  - IFocusHandler
  - IKeyboardHandler
  - IMouseHandler
  - IPaintHandler
  - IResizeHandler
  - ISelectHandler
  - IShowListHandler

#### AIX Considerations

  Handlers derived from IEditVerifyHandler can be attached to IComboBox objects.

### IComboBox - Member Functions and Data by Group

### Constructors & Destructor

You can construct and destruct objects of this class.

~IComboBox

      public:
      virtual ~IComboBox()

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

IComboBox

  Overload 1

      public:
      IComboBox(const IWindowHandle& handle)

  You can construct objects of this class using the handle of an existing combination box window.

  handle
    The window handle of an existing combination box control.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | No

  Overload 2

      public:
      IComboBox( unsigned long id,
                 IWindow* parent,
                 IWindow* owner,
                 const IRectangle& initial = IRectangle ( ),
                 const Style& style = defaultStyle ( ) )

  You can construct objects of this class using the ID, parent, owner, size, position, and style parameters.

  id
    A combination box control ID.
  parent
    The parent window.
  owner
    The owner window.
  initial
    The initial position and size of the combination box you construct. The default is the rectangle constructed by the default IRectangle constructor. Optional.
  style
    The combination box's characteristics. Optional.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

  Overload 3

      public:
      IComboBox(unsigned long id, IWindow* parent)

  You can construct objects of this class using the parent window and a combination box ID.

  id
    A combination box control ID.
  parent
    The parent window.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | No

### Add Items

Use these members to add items to the list box portion of the combination box. You can add items to the list box at the following positions:

- A specified location given by an index or cursor
- The first item
- The last item
- The next item following a cursor
- In descending sort order
- In ascending sort order

Represent the new text item by either a resource identifier or the text string itself.

add

  Inserts the line of text at a specified location in the list box portion of the combination box.

  Overload 1

      public:
      virtual unsigned long
        add( unsigned long index,
             const char * const* itemList,
             unsigned long count = 1 )

  Inserts items corresponding to the itemList text strings into the list box portion of the combination box and returns the index of the first item inserted.

  index
    Index position of the item in the list. If the index is greater than the number of items, the text is inserted at the end of the list.
  itemList
    An array of character strings.
  count
    Number of text items in itemList. The default is 1 item.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

  Overload 2

      public:
      virtual IComboBox& add(const char* text, Cursor& cursor)

  Inserts text into the list box portion of the combination box at the cursor position and sets the cursor to the inserted item.

  text
    The text you want to insert.
  cursor
    A combination box cursor object. The cursor's position identifies where to insert the item in the list.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

  Overload 3

      public:
      virtual unsigned long
        add( unsigned long index,
             const char* text )

  Inserts text into the list box portion of the combination box and returns the index of the item.

  text
    The text you want to insert.
  index
    Index position of the item in the list. If the index is greater than the number of items, the text is inserted at the end of the list.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

  Overload 4

      public:
      virtual IComboBox&
        add( const IResourceId& item,
             Cursor& cursor )

  Inserts text into the list box portion of the combination box at the cursor position and sets the cursor to the inserted item.

  item
    Resource ID of the text you want to insert in the list.
  cursor
    A combination box cursor object. The cursor's position identifies where to insert the item in the list.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

  Overload 5

      public:
      virtual unsigned long
        add( unsigned long index,
             const IResourceId& item )

  Inserts text corresponding to the resource item into the list box portion of the combination box and returns the index of the item.

  index
    Index position of the item in the list. If the index is greater than the number of items, the text is inserted at the end of the list.
  item
    Resource ID of the text you want to insert in the list.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

addAscending

  Inserts the line of text in ascending sort order.

  Overload 1

      public:
      virtual unsigned long addAscending(const char* text)

  Inserts text into the list box portion of the combination box in ascending sort order and returns the index of the inserted item.

  text
    The text you want to insert.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

  Overload 2

      public:
      virtual unsigned long addAscending(const IResourceId& item)

  Inserts the text, corresponding to the resource identifier, into the list box portion of the combination box in ascending sort order and returns the index of the inserted item.

  item
    Resource ID of the text you want to insert in the list.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

addAsFirst

  Inserts the line of text as the first item in the list box portion of the combination box.

  Overload 1

      public:
      virtual IComboBox&
        addAsFirst( const char* text,
                    Cursor& cursor )

  Inserts the text as the first item in the list box portion of the combination box and puts the cursor on the inserted item.

  text
    The text you want to insert.
  cursor
    A combination box cursor object. The cursor is set to the first item in the list.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

  Overload 2

      public:
      virtual unsigned long addAsFirst(const char* text)

  Inserts the text as the first item in the list box portion of the combination box.

  text
    The text you want to insert.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

  Overload 3

      public:
      virtual unsigned long addAsFirst(const IResourceId& item)

  Inserts the text, corresponding to the resource identifier, as the first item in the list box portion of the combination box.

  item
    Resource ID of the text you want to insert in the list.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

  Overload 4

      public:
      virtual IComboBox&
        addAsFirst( const IResourceId& item,
                    Cursor& cursor )

  Inserts the text, corresponding to the resource identifier, as the first item in the list box portion of the combination box and puts the cursor on that item.

  item
    Resource ID of the text you want to insert in the list.
  cursor
    A combination box cursor object. The cursor is set to the first item in the list.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

addAsLast

  Inserts the line of text as the last item in the list box portion of the combination box.

  Overload 1

      public:
      virtual unsigned long addAsLast(const IResourceId& item)

  Inserts the text, corresponding to the resource identifier, as the last item in the list box portion of the combination box.

  item
    Resource ID of the text you want to insert in the list.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

  Overload 2

      public:
      virtual IComboBox&
        addAsLast( const char* text,
                   Cursor& cursor )

  Inserts the text as the last item in the list box portion of the combination box and puts the cursor on that item.

  text
    The text you want to insert.
  cursor
    A combination box cursor object. The cursor is set to the last item in the list.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

  Overload 3

      public:
      virtual unsigned long addAsLast(const char* text)

  Inserts the text as the last item in the list box portion of the combination box.

  text
    The text you want to insert.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

  Overload 4

      public:
      virtual IComboBox&
        addAsLast( const IResourceId& item,
                   Cursor& cursor )

  Inserts the text, corresponding to the resource identifier, as the last item in the list box portion of the combination box and puts the cursor on that item.

  item
    Resource ID of the text you want to insert in the list.
  cursor
    A combination box cursor object. The cursor is set to the last item in the list.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

addAsNext

  Inserts the line of text in the list box portion of the combination box after the cursor.

  Overload 1

      public:
      virtual IComboBox&
        addAsNext( const char* text,
                   Cursor& cursor )

  Inserts the text after the current cursor position in the list box portion of the combination box and places the cursor on that item.

  text
    The text you want to insert.
  cursor
    A combination box cursor object. The cursor's position identifies where to insert the item in the list.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

  Overload 2

      public:
      virtual IComboBox&
        addAsNext( const IResourceId& item,
                   Cursor& cursor )

  Inserts a new text item, corresponding to the resource identifier, after the current cursor position in the list box portion of the combination box and places the cursor on that item.

  item
    Resource ID of the text you want to insert in the list.
  cursor
    A combination box cursor object. The cursor's position identifies where to insert the item in the list.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

addDescending

  Inserts the line of text in descending sort order.

  Overload 1

      public:
      virtual unsigned long addDescending(const char* text)

  Inserts text into the list box portion of the combination box in descending sort order and returns the index of the inserted item.

  text
    The text you want to insert.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

  Overload 2

      public:
      virtual unsigned long
        addDescending( const IResourceId& item )

  Inserts the text, corresponding to the resource identifier, into the list box portion of the combination box in descending sort order and returns the index of the inserted item.

  item
    Resource ID of the text you want to insert in the list.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

### Notification Members

These INotificationId members define the possible notifications that IComboBox provides to its observers. The following events can occur:

- Add a list box item
- Remove a list box item

addId

      public:
      static INotificationId const addId

  This notification identifier is the notification IComboBox objects provide their observers when an item is added to the list box portion of the combination box. The number of items added is provided in the INotificationEvent::eventData field of the INotificationEvent.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

removeId

      public:
      static INotificationId const removeId

  This notification identifier is the notification IComboBox objects provide their observers when an item is removed from the list box portion of the combination box. The number of items removed is provided in the INotificationEvent::eventData field of the INotificationEvent. If the value is 0, all items were removed.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

### Remove and Replace Items

Use these members to remove items from or replace items in the list box portion of the combination box.

remove

      public:
      virtual unsigned long remove(unsigned long index)

  Removes the specified item from the list box and returns the number of items that remain.

  index
    The index of the text item to remove.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

removeAll

      public:
      virtual IComboBox& removeAll()

  Removes all items from the list box.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

removeAt

      public:
      virtual IComboBox& removeAt(Cursor& cursor)

  Removes the item at the cursor position and sets the cursor to the item following the removed item.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

replaceAt

  Replaces the list box item at the cursor position. An invalid cursor causes an exception.

  Overload 1

      public:
      virtual IComboBox&
        replaceAt( const char* text,
                   const Cursor& cursor )

  Replaces the item's string at the cursor with the new text.

  text
    The text string.
  cursor
    A combination box cursor object. It must be valid.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

  Overload 2

      public:
      virtual IComboBox&
        replaceAt( const IResourceId& item,
                   const Cursor& cursor )

  Replaces the item's string at the cursor with the text corresponding to the resource identifier.

  item
    The resource ID of the text string to replace in the list box portion of the combination box.
  cursor
    A combination box cursor object. It must be valid.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

### Styles

Use these members to define, set, and retrieve the IComboBox default style.
Note: The IComboBox class inherits its style behavior from IBaseComboBox except for the default style members described here.

defaultStyle

      public:
      static Style defaultStyle()

  Returns the default style. The default style is classDefaultStyle unless you have changed it using setDefaultStyle.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

setDefaultStyle

      public:
      static void setDefaultStyle(const Style& style)

  Sets the default style for all subsequent combination boxes.

  style
    Use the styles provided by IComboBox Styles to specify the default style.

  This member function is not thread safe. In a multithreaded application, it should only be called when a conflict is not possible. A conflict can arise if you set the default style on one thread at the same time that it is being queried on another. In this situation, the query would take place while the style is in an unknown state.

  When you create a window class and do not specifically specify window styles in the constructor, the Open Class Library queries the default style. Therefore, the only safe place to call this member function is when no other application threads that create windows are active.

  Another way to avoid a conflict in a multithreaded application is to specifically specify window styles on window construction, rather than calling this member function.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

classDefaultStyle

      public:
      static const Style classDefaultStyle

  Provides the original default style for this class, which is the following: IComboBox::simpleType | IComboBox::anyData | IWindow::visible.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

Windows Considerations

  For Windows, IBaseComboBox::autoScroll and IBaseComboBox::border3D are also part of the default style.

### IComboBox - Type Definitions

Cursor

      typedef IBaseComboBox::Cursor Cursor

  This typedef supports prior use of the IComboBox::Cursor class, which now exists in IBaseComboBox.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

### IComboBox - Inherited Member Functions and Data

#### Inherited Public Functions

  IBaseComboBox

  -     virtual ~IBaseComboBox()

  -     virtual IColor backgroundColor() const

  -     virtual unsigned long
          convertToGUIStyle( const IBitFlag& style,
                             bool extendedOnly = false ) const

  -     virtual unsigned long count() const

  -     virtual IBaseComboBox& deselect(unsigned long index)

  -     virtual IBaseComboBox& deselectAll()

  -     virtual IString elementAt(const Cursor& cursor) const

  -     virtual IBaseComboBox& enableDataUpdate(bool update = true)

  -     virtual IBaseComboBox&
          enableNotification( bool enable = true )

  -     virtual IColor foregroundColor() const

  -     virtual bool hasFocus() const

  -     virtual IBaseComboBox& hideList()

  -     IBaseComboBox(unsigned long id, IWindow* parent)

  -     IBaseComboBox( unsigned long id,
                       IWindow* parent,
                       IWindow* owner,
                       const IRectangle& initial = IRectangle ( ),
                       const Style& style = defaultStyle ( ) )

  -     IBaseComboBox(const IWindowHandle& handle)

  -     virtual bool isEmpty() const

  -     bool isHorizontalScroll() const

  -     bool isListShowing() const

  -     virtual bool isSelected(unsigned long index) const

  -     bool isWriteable() const

  -     virtual unsigned long itemHandle(unsigned long index) const

  -     virtual IString itemText(unsigned long index) const

  -     virtual IRectangle layoutAdjustment() const

  -     virtual unsigned long limit() const

  -     virtual unsigned long
          locateText( const char* searchString,
                      bool caseSensitive = true,
                      SearchType search = exactMatch,
                      unsigned long index = first ) const

  -     unsigned long minimumRows() const

  -     virtual IRectangle nativeRect() const

  -     virtual unsigned long numberOfSelections() const

  -     virtual IPoint position() const

  -     virtual IBaseComboBox&
          select( unsigned long index,
                  bool select = true )

  -     virtual long selection() const

  -     virtual IBaseComboBox&
          setBackgroundColor( const IColor& color )

  -     virtual IBaseComboBox& setFocus()

  -     virtual IBaseComboBox&
          setForegroundColor( const IColor& color )

  -     virtual IBaseComboBox&
          setItemHandle( unsigned long index,
                         unsigned long handle )

  -     virtual IBaseComboBox&
          setItemText( unsigned long index,
                       const IResourceId& string,
                       bool updateEntryField = false )

  -     virtual IBaseComboBox&
          setItemText( unsigned long index,
                       const char* string,
                       bool updateEntryField = false )

  -     virtual IBaseComboBox&
          setLimit( const IResourceId& textLimit )

  -     virtual IBaseComboBox& setLimit(unsigned long textLimit)

  -     virtual IBaseComboBox&
          setMinimumRows( unsigned long minimumRows )

  -     virtual IBaseComboBox& setTop(unsigned long index)

  -     virtual IBaseComboBox& showList(bool show = true)

  -     virtual ISize size() const

  -     virtual unsigned long top() const

  -     ControlType type() const

  -     virtual IRectangle visibleRectangle() const

  IControl

  -     virtual ~IControl()

  IEntryField

  -     virtual ~IEntryField()

  -     Alignment alignment() const

  -     CharType charType() const

  -     virtual IEntryField& clear(unsigned long timestamp = 0)

  -     virtual IEntryField& copy(unsigned long timestamp = 0)

  -     unsigned long cursorPosition() const

  -     virtual IEntryField& cut(unsigned long timestamp = 0)

  -     virtual IEntryField& disable()

  -     virtual IEntryField& disableAutoScroll()

  -     virtual IEntryField& disableAutoTab()

  -     virtual IEntryField& disableCommand()

  -     virtual IEntryField& disableDataUpdate()

  -     virtual IEntryField& disableInsertMode()

  -     virtual IEntryField& disableMargin()

  -     virtual IEntryField& discard()

  -     virtual IEntryField& enable(bool enable = true)

  -     virtual IEntryField& enableAutoScroll(bool enable = true)

  -     virtual IEntryField& enableAutoTab(bool enable = true)

  -     virtual IEntryField& enableCommand(bool enable = true)

  -     virtual IEntryField& enableDataUpdate(bool update = true)

  -     virtual IEntryField& enableInsertMode(bool insert = true)

  -     virtual IEntryField& enableMargin(bool enable = true)

  -     virtual IEntryField& enableNotification(bool enable = true)

  -     bool hasSelectedText() const

  -     bool hasTextChanged() const

  -     IEntryField(unsigned long id, IWindow* parent)

  -     IEntryField(const IWindowHandle& handle)

  -     IEntryField( unsigned long id,
                     IWindow* parent,
                     IWindow* owner,
                     const IRectangle& initial = IRectangle ( ),
                     const Style& style = defaultStyle ( ) )

  -     bool isAutoScroll() const

  -     bool isAutoTab() const

  -     bool isCommand() const

  -     bool isEmpty() const

  -     bool isInsertMode() const

  -     bool isMargin() const

  -     unsigned long leftIndex() const

  -     virtual IEntryField& paste()

  -     virtual IEntryField& removeAll()

  -     virtual IEntryField& resetTextChangedFlag()

  -     IRange selectedRange() const

  -     IString selectedText() const

  -     unsigned long selectedTextLength() const

  -     virtual IEntryField&
          selectRange( const IRange& range = IRange ( 0 , end ),
                       unsigned long timestamp = 0 )

  -     virtual IEntryField& setAlignment(Alignment alignment)

  -     virtual IEntryField& setCharType(CharType type)

  -     virtual IEntryField&
          setCursorPosition( unsigned long newCursorPos )

  -     virtual IEntryField& setLeftIndex(unsigned long index)

  -     virtual IEntryField& setLimit(const IResourceId& textLimit)

  -     virtual IEntryField& setLimit(unsigned long textLimit)

  -     virtual IEntryField& setText(const char* text)

  -     virtual IEntryField& setText(const IResourceId& text)

  -     virtual IEntryField&
          setTextChangedFlag( bool changed = true )

  -     virtual IString text() const

  INotifier

  -     virtual ~INotifier()

  -     virtual INotifier& disableNotification() = 0

  -     virtual INotifier&
          enableNotification( bool enable = true ) = 0

  -     INotifier()

  -     virtual bool isEnabledForNotification() const = 0

  -     virtual INotifier&
          notifyObservers( const INotificationEvent& event ) = 0

  -     virtual INotifier&
          notifyObserversAsync( const INotificationEvent& event )

  -     const IThreadId& threadId() const

  ITextControl

  -     virtual ~ITextControl()

  -     static bool clipboardHasTextFormat()

  -     virtual ISize displaySize(const char* text = 0) const

  -     virtual ITextControl&
          setLayoutDistorted( unsigned long layoutAttributeOn,
                              unsigned long layoutAttributeOff )

  -     virtual ITextControl& setText(const IResourceId& text)

  -     virtual ITextControl& setText(const char* text)

  -     virtual unsigned long textLength() const

  IWindow

  -     virtual ~IWindow()

  -     IAccelTblHandle acceleratorHandle() const

  -     IAcceleratorTable acceleratorTable() const

  -     virtual IColor activeColor() const

  -     IWindow&
          addOrReplaceAttribute( const IAttributeName& name,
                                 const IAttribute& attribute )

  -     IWindow&
          adoptWindowData( const DataHandle& typeToken,
                           IWindowData* windowData )

  -     virtual IString asDebugInfo() const

  -     virtual IString asString() const

  -     IAttributeName
          attributeNameAt( const AttributeCursor& cursor ) const

  -     const IAttribute*
          attributeWithName( const IAttributeName& name,
                             ESearchType search = kWindowOnly ) const

  -     virtual IWindow& capturePointer(bool capture = true)

  -     ISize characterSize() const

  -     IWindowHandle childAt(const ChildCursor& cursor) const

  -     IWindow* childWindowAt(const ChildCursor& cursor) const

  -     virtual IArgList
          convertToArgList( const IBitFlag& style ) const

  -     static DataHandle
          dataHandleWithKey( const char* dataKeyName )

  -     virtual IWindowHandle defaultEmphasisButton() const

  -     static SiblingOrder defaultOrdering()

  -     virtual IWindowHandle defaultPushButton() const

  -     static IWindow* desktopWindow()

  -     virtual IWindow& disable()

  -     virtual IColor disabledBackgroundColor() const

  -     virtual IColor disabledForegroundColor() const

  -     virtual IWindow& disableGroup()

  -     IWindow& disableMinimumSizeCaching()

  -     virtual IWindow& disableNotification()

  -     virtual IWindow& disableTabStop()

  -     virtual IWindow& disableUpdate()

  -     bool
          dispatchRemainingHandlers( IEvent& event,
                                     bool callDefProc = true )

  -     virtual IWindow& enable(bool enableWindow = true)

  -     virtual IWindow& enableGroup(bool enable = true)

  -     IWindow&
          enableMinimumSizeCaching( bool enableCaching = true )

  -     virtual IWindow& enableNotification(bool enable = true)

  -     virtual IWindow& enableTabStop(bool enable = true)

  -     virtual IWindow& enableUpdate(bool enableWindow = true)

  -     static IWindow::ExceptionFn* exceptionFunction()

  -     virtual IFont font() const

  -     virtual IWindowHandle handle() const

  -     virtual bool
          handleException( IException& dispatcherException,
                           IEvent& exceptionEvent )

  -     virtual IWindowHandle handleForChildCreation() const

  -     static IWindowHandle
          handleWithParent( unsigned long identifier,
                            const IWindowHandle& parent )

  -     static IWindowHandle handleWithPointerCaptured()

  -     virtual bool hasPointerCaptured() const

  -     unsigned long helpId() const

  -     virtual IWindow& hide()

  -     virtual IWindow& hideSourceEmphasis()

  -     virtual IColor hiliteBackgroundColor() const

  -     virtual IColor hiliteForegroundColor() const

  -     virtual unsigned long id() const

  -     virtual IColor inactiveColor() const

  -     virtual IRectangle invalidatedRect() const

  -     virtual IRegionHandle invalidatedRegion() const

  -     bool isAutoDeleteObject() const

  -     bool isAutoDestroyWindow() const

  -     bool isEnabled() const

  -     virtual bool isEnabledForNotification() const

  -     virtual bool isFrameWindow() const

  -     virtual bool isGroup() const

  -     bool isHandling(const EventMask& events) const

  -     virtual bool
          isLayoutDistorted( unsigned long layoutAttribute ) const

  -     bool isMinimumSizeCachingEnabled() const

  -     bool isShowing() const

  -     virtual bool isTabStop() const

  -     bool isUpdateEnabled() const

  -     virtual bool isValid() const

  -     bool isVisible() const

  -     static bool isWindowValid(const IWindow* window)

  -     IDMItemProvider* itemProvider() const

  -     IWindow(unsigned long identifier, IWindow* parent)

  -     IWindow(const IWindowHandle& handle)

  -     static IPoint
          mapPoint( const IPoint& point,
                    const IWindowHandle& from,
                    const IWindowHandle& to )

  -     virtual IWindowHandle
          matchForMnemonic( unsigned short character ) const

  -     IMessageQueueHandle messageQueue() const

  -     ISize minimumSize(bool windowCalculatedSize = false) const

  -     virtual IPointerHandle mousePointer() const

  -     static void movePointerTo(const IPoint& position)

  -     virtual IWindow&
          moveSizeTo( const IRectangle& newSizeAndPosition )

  -     virtual IWindow& moveTo(const IPoint& newPosition)

  -     virtual INotifierAddress notifierAddress() const

  -     virtual IWindow&
          notifyObservers( const INotificationEvent& event )

  -     virtual IWindow&
          notifyObserversAsync( const INotificationEvent& event )

  -     static IWindow* objectWindow()

  -     virtual IWindow* owner() const

  -     IWindow* parent() const

  -     static ISize parentSize(const IWindowHandle& windowHandle)

  -     virtual ISize parentSize() const

  -     static IPoint pointerPosition()

  -     virtual IWindow&
          positionBehindSibling( const IWindowHandle& siblingWindow )

  -     virtual IWindow& positionBehindSiblings()

  -     virtual IWindow& positionOnSiblings()

  -     virtual const IWindow& postEvent(const IEvent& event) const

  -     virtual const IWindow&
          postEvent( unsigned long eventId,
                     const IEventParameter1& parm1 = 0,
                     const IEventParameter2& parm2 = 0 ) const

  -     virtual const IWindow&
          postEvent( EventType eventType,
                     const IEventParameter1& parm1 = 0,
                     const IEventParameter2& parm2 = 0 ) const

  -     virtual IPresSpaceHandle presSpace() const

  -     virtual IRectangle rect() const

  -     virtual IWindow&
          refresh( const IRectangle& invalidRectangle,
                   bool immediate = false )

  -     virtual IWindow& refresh(RefreshType type = paintAll)

  -     virtual IWindow& releasePointer()

  -     virtual void
          releasePresSpace( const IPresSpaceHandle& presentationSpaceHandle ) const

  -     IWindow& removeAllAttributes()

  -     IWindow& removeAttribute(const IAttributeName& name)

  -     virtual IWindow& resetActiveColor()

  -     virtual IWindow& resetBackgroundColor()

  -     virtual IWindow& resetDisabledBackgroundColor()

  -     virtual IWindow& resetDisabledForegroundColor()

  -     virtual IWindow& resetFont()

  -     virtual IWindow& resetForegroundColor()

  -     virtual IWindow& resetHiliteBackgroundColor()

  -     virtual IWindow& resetHiliteForegroundColor()

  -     virtual IWindow& resetInactiveColor()

  -     IWindow& resetMinimumSize()

  -     virtual IWindow& resetShadowColor()

  -     virtual IEventResult
          sendEvent( unsigned long eventId,
                     const IEventParameter1& parm1 = 0,
                     const IEventParameter2& parm2 = 0 ) const

  -     virtual IEventResult sendEvent(const IEvent& event) const

  -     virtual IEventResult
          sendEvent( EventType eventType,
                     const IEventParameter1& parm1 = 0,
                     const IEventParameter2& parm2 = 0 ) const

  -     IWindow&
          setAcceleratorHandle( const IAccelTblHandle& handle )

  -     IWindow&
          setAcceleratorTable( const IAcceleratorTable* acceleratorTable )

  -     virtual IWindow& setActiveColor(const IColor& color)

  -     IWindow& setAutoDeleteObject(bool autoDelete = true)

  -     IWindow& setAutoDestroyWindow(bool autoDestroy = false)

  -     virtual IWindow& setBackgroundColor(const IColor& color)

  -     static void setDefaultOrdering(SiblingOrder order)

  -     virtual IWindow&
          setDisabledBackgroundColor( const IColor& color )

  -     virtual IWindow&
          setDisabledForegroundColor( const IColor& color )

  -     static IWindow::ExceptionFn*
          setExceptionFunction( IWindow::ExceptionFn* exceptionFunction )

  -     virtual IWindow& setFocus()

  -     virtual IWindow& setFont(const IFont& font)

  -     virtual IWindow& setForegroundColor(const IColor& color)

  -     IWindow& setHelpId(unsigned long helpTopicId)

  -     virtual IWindow&
          setHiliteBackgroundColor( const IColor& color )

  -     virtual IWindow&
          setHiliteForegroundColor( const IColor& color )

  -     virtual IWindow& setId(unsigned long newIdentifier)

  -     virtual IWindow& setInactiveColor(const IColor& color)

  -     IWindow& setItemProvider(IDMItemProvider* dragProvider)

  -     virtual IWindow&
          setLayoutDistorted( unsigned long layoutAttributesOn,
                              unsigned long layoutAttributesOff )

  -     IWindow& setMinimumSize(const ISize& size)

  -     virtual IWindow&
          setMousePointer( const IPointerHandle& mousePointer )

  -     virtual IWindow& setOwner(const IWindow* newOwner)

  -     virtual IWindow& setParent(const IWindow* newParent)

  -     virtual IWindow& setShadowColor(const IColor& color)

  -     virtual IColor shadowColor() const

  -     virtual IWindow& show(bool showWindow = true)

  -     virtual IWindow& showSourceEmphasis(bool show = true)

  -     virtual IWindow& sizeTo(const ISize& newSize)

  -     IWindow& startHandling(const EventMask& events)

  -     IWindow& stopHandling(const EventMask& events)

  -     virtual IWindow&
          validateRect( const IRectangle& validatedRectangle )

  -     virtual IWindow&
          validateRegion( const IRegionHandle& validatedRegion )

  -     IWindowData* windowData(const DataHandle& typeToken) const

  -     static IWindow*
          windowWithHandle( const IWindowHandle& windowHandle,
                            bool allThreads = true )

  -     static IWindow*
          windowWithOwner( unsigned long identifier,
                           const IWindow* owner,
                           bool allThreads = true )

  -     static IWindow*
          windowWithParent( unsigned long identifier,
                            const IWindow* parent,
                            bool allThreads = true )

#### Inherited Public Data

  IWindow

  -     static INotificationId const activeColorId

  -     static const EventMask allMouseMoves

  -     static INotificationId const
          attributeAddReplaceId

  -     static INotificationId const attributeRemoveId

  -     static INotificationId const backgroundColorId

  -     static INotificationId const borderColorId

  -     static const Style clipChildren

  -     static const Style clipSiblings

  -     static const Style clipToParent

  -     static INotificationId const commandId

  -     static const Style disabled

  -     static INotificationId const
          disabledBackgroundColorId

  -     static INotificationId const
          disabledForegroundColorId

  -     static INotificationId const enableId

  -     static INotificationId const focusId

  -     static INotificationId const fontId

  -     static INotificationId const foregroundColorId

  -     static const Style group

  -     static INotificationId const
          hiliteBackgroundColorId

  -     static INotificationId const
          hiliteForegroundColorId

  -     static INotificationId const inactiveColorId

  -     static const Style leftToRight

  -     static const EventMask mouseEntersLeaves

  -     static const Style noStyle

  -     static INotificationId const positionId

  -     static const Style rightToLeft

  -     static const Style saveBits

  -     static INotificationId const shadowColorId

  -     static INotificationId const sizeId

  -     static const EventMask someMouseMoves

  -     static const Style synchPaint

  -     static INotificationId const systemCommandId

  -     static const Style tabStop

  -     static const Style visible

  -     static INotificationId const visibleId

  INotifier

  -     static INotificationId const allChangesId

  -     static INotificationId const deleteId

  IBaseComboBox

  -     static const Style anyData

  -     static const Style autoScroll

  -     static const Style border3D

  -     static const Style dbcsData

  -     static const Style dropDownType

  -     static INotificationId const enterId

  -     static const unsigned long first

  -     static const Style horizontalScroll

  -     static INotificationId const itemChangedId

  -     static INotificationId const itemsId

  -     static const Style mixedData

  -     static const unsigned long notFound

  -     static const Style oemData

  -     static const Style readOnlyDropDownType

  -     static const Style sbcsData

  -     static INotificationId const selectId

  -     static const Style simpleType

  IEntryField

  -     static const Style autoTab

  -     static const Style centerAlign

  -     static INotificationId const characterTypeId

  -     static const Style command

  -     static INotificationId const dataUpdateId

  -     static const long end

  -     static INotificationId const insertModeId

  -     static const Style leftAlign

  -     static INotificationId const limitId

  -     static const Style margin

  -     static const Style readOnly

  -     static const Style rightAlign

  -     static const Style unreadable

  ITextControl

  -     static INotificationId const textId

#### Inherited Protected Functions

  IWindow

  -     IWindow& addHandler(IHandler* newHandler)

  -     virtual IWindow&
          addObserver( IObserver& observer,
                       const IInterest& interest )

  -     static void
          addToWindowSet( IWindow* window,
                          const IWindowHandle& windowHandle )

  -     IWindow& bindMessageQueue(bool bindToMessageQueue = true)

  -     IColor color(unsigned long colorArea) const

  -     IColor
          color( unsigned long colorArea,
                 const IColor& defaultColor ) const

  -     virtual IWindowHandle
          create( unsigned long id,
                  const char* text,
                  const IBitFlag& style,
                  const char* windowClass,
                  const IWindow* parent,
                  const IWindow* owner,
                  const IRectangle& initRect,
                  const void* ctlData,
                  const void* presParams,
                  IWindow::SiblingOrder ordering = defaultOrdering ( ) )

  -     virtual IWindowHandle
          create( unsigned long id,
                  const char* text,
                  unsigned long style,
                  IXmCreateFunction createFunction,
                  const IWindowHandle& parent,
                  const IWindowHandle& owner,
                  const IRectangle& initRect,
                  const void* callerArgList,
                  unsigned int callerNumberArguments,
                  IWindow::SiblingOrder ordering = defaultOrdering ( ),
                  unsigned long extendedStyle = 0 )

  -     virtual IWindowHandle
          create( unsigned long id,
                  const char* text,
                  unsigned long style,
                  const char* windowClass,
                  const IWindowHandle& parent,
                  const IWindowHandle& owner,
                  const IRectangle& initRect,
                  const void* ctlData,
                  const void* presParams,
                  IWindow::SiblingOrder ordering = defaultOrdering ( ),
                  unsigned long extendedStyle = 0 )

  -     virtual IWindowHandle
          create( unsigned long id,
                  const char* text,
                  const IBitFlag& style,
                  IXmCreateFunction createFunction,
                  const IWindow* parent,
                  const IWindow* owner,
                  const IRectangle& initRect,
                  IWindow::SiblingOrder ordering = defaultOrdering ( ) )

  -     IWindow& defaultProcedure(IEvent& event)

  -     bool deleteIsInProcess() const

  -     bool dispatch(IEvent& event)

  -     virtual unsigned long extendedStyle() const

  -     bool isBoundToMessageQueue() const

  -     bool isPrimaryWindow() const

  -     bool isUserWindowWordReserved() const

  -     IWindow()

  -     IWindowNotifyHandler* notificationHandler() const

  -     virtual IWindow&
          notifyObservers( const INotificationId& notification )

  -     IObserverList&
          observerList( const IInterest* interest = 0 ) const

  -     virtual IWindow&
          prepareForUse( const IWindowHandle& windowHandle )

  -     virtual IWindow& removeAllObservers()

  -     static void removeFromWindowSet(IWindow* window)

  -     IWindow& removeHandler(IHandler* oldHandler)

  -     virtual IWindow&
          removeObserver( IObserver& observer,
                          const IInterest& interest )

  -     virtual IWindow& removeObserver(IObserver& observer)

  -     IWindow& reserveUserWindowWord(bool reserve = true)

  -     virtual IWindow& resetColor(unsigned long colorArea)

  -     ISize savedMinimumSize() const

  -     IWindow& saveMinimumSize(const ISize& size)

  -     virtual IWindow&
          setBidiSettings( const IBidiSettings& bidiSettings,
                           bool childInherit,
                           bool refresh )

  -     virtual IWindow&
          setColor( unsigned long colorArea,
                    const IColor& color )

  -     virtual IWindow&
          setDefaultEmphasisButton( const IWindowHandle& defaultEmphasisButton,
                                    bool enable )

  -     virtual IWindow&
          setDefaultPushButton( const IWindowHandle& defaultPushButton )

  -     virtual IWindow&
          setExtendedStyle( unsigned long extendedStyle )

  -     IWindow&
          setNotificationHandler( IWindowNotifyHandler* notifyHandler )

  -     virtual IWindow& setStyle(unsigned long style)

  -     IWindow& setWindowData(long index, unsigned long dataValue)

  -     IWindow&
          setWindowData( long index,
                         unsigned short dataValue )

  -     IWindow&
          startHandlingEventsFor( const IWindowHandle& windowHandle )

  -     IWindow&
          startHandlingEventsFor( unsigned long identifier,
                                  IWindow* parent )

  -     virtual unsigned long style() const

  -     IWindow& unbindMessageQueue()

  -     unsigned long windowULong(long index) const

  -     unsigned short windowUShort(long index) const

  INotifier

  -     virtual INotifier&
          addObserver( IObserver& observer,
                       const IInterest& interest )

  -     virtual INotifier&
          notifyObservers( const INotificationId& id ) = 0

  -     virtual IObserverList&
          observerList( const IInterest* anInterest = 0 ) const = 0

  -     virtual INotifier& removeAllObservers() = 0

  -     virtual INotifier&
          removeObserver( IObserver& observer,
                          const IInterest& interest )

  -     virtual INotifier& removeObserver(IObserver& observer) = 0

  IBaseComboBox

  -     virtual ISize calcMinimumSize() const

  -     unsigned long changeCount() const

  -     void incrementChangeCount()

  -     virtual IBaseComboBox&
          setColor( unsigned long colorArea,
                    const IColor& color )

  -     virtual IBaseComboBox&
          setLayoutDistorted( unsigned long layoutAttributeOn,
                              unsigned long layoutAttributeOff )

  IControl

  -     IControl()

  IEntryField

  -     IEntryField()

  -     IEntryField&
          initialize( unsigned long style,
                      const IWindowHandle& wh )

  -     virtual bool isDragStarting(IEvent& event)

  -     virtual bool passEventToOwner(IEvent& event)

  -     virtual IEntryField&
          setLayoutDistorted( unsigned long layoutAttributeOn,
                              unsigned long layoutAttributeOff )

  -     virtual IEntryField& setStyle(unsigned long style)

  ITextControl

  -     ITextControl()

#### Inherited Protected Data

  - None