### IListBox

  The IListBox class extends the list box function in IBaseListBox to include adding, removing, and replacing list box items. List boxes always have vertical scroll bars. Optionally, they can have horizontal scroll bars.

  You can enable a list box for the following types of item-selection techniques:

  single selection
    The user can select only one item at a time.
  multiple selection
    The user can select any number of items or not select any.
  extended selection
    The user can extend selection to more than one item.
  These three techniques are mutually exclusive in one list box.

  A list box operates as if it is a 0-based array of items. The item index requested or returned is the 0-based index number of the location of the item in question.

  Handlers derived from the following classes handle events for IListBox:

  - IFocusHandler
  - IKeyboardHandler
  - IListBoxDrawItemHandler
  - IMouseHandler
  - IPaintHandler
  - IResizeHandler
  - ISelectHandler

#### Windows Considerations

  When the horizontal scroll bar style is specified, the horizontal scroll bars are shown only if the width of the list box is smaller than the width of the largest list box item. Otherwise, Windows hides the scroll bar.

### IListBox - Member Functions and Data by Group

### Constructors & Destructor

You can construct and destruct objects of this class.

~IListBox

      public:
      virtual ~IListBox()

Supported Platforms

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

IListBox

  Overload 1

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

  You can create a list box control object using the parent window and a list box control ID.

  id
    The ID of a list box control.
  parent
    The parent window.

Supported Platforms

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

  Overload 2

      public:
      IListBox(const IWindowHandle& handle)

  You can create a list box control object using the handle of an existing list box control.

  handle
    A window handle of an existing list box control.

Supported Platforms

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

  Overload 3

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

  You can create a list box control object using the parent window, owner window, optional size and location, and optional style arguments.

  id
    The ID of a list box control.
  parent
    The parent window.
  owner
    The owner window.
  initial
    A rectangle for the list box control. It specifies the initial position and size of the IListBox you construct. The default is the rectangle constructed by the default IRectangle constructor. Optional.
  style
    The initial style for the list box control. The classDefaultStyle is used if no style is provided. Optional.

Supported Platforms

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

### Add Items

Use these members to add items to the list 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.

  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 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 IListBox& add(const char* item, Cursor& cursor)

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

  item
    The text you want to insert.
  cursor
    A list 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 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.
  text
    The text you want to insert.

Supported Platforms

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

  Overload 4

      public:
      virtual IListBox&
        add( const IResourceId& text,
             Cursor& cursor )

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

  text
    Resource ID of the text you want to insert into the list.
  cursor
    A list 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 the text corresponding to the resource item into the list 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 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

Portability Considerations

  Adds on OS/2 and Windows are not case-sensitive, but AIX is case-sensitive where upper case characters appear before lower case when add ascending.

  Overload 2

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

  Inserts the text, corresponding to the resource identifier, into the list 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

Portability Considerations

  Adds on OS/2 and Windows are not case-sensitive, but AIX is case-sensitive where upper case characters appear before lower case when add ascending.

addAsFirst

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

  Overload 1

      public:
      virtual IListBox&
        addAsFirst( const char* item,
                    Cursor& cursor )

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

  item
    The text you want to insert.
  cursor
    A list 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.

  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.

  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 IListBox&
        addAsFirst( const IResourceId& text,
                    Cursor& cursor )

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

  text
    Resource ID of the text you want to insert in the list.
  cursor
    A list 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.

  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.

  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 IListBox&
        addAsLast( const char* item,
                   Cursor& cursor )

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

  item
    The text you want to insert.
  cursor
    A list 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.

  text
    The text you want to insert.

Supported Platforms

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

  Overload 4

      public:
      virtual IListBox&
        addAsLast( const IResourceId& text,
                   Cursor& cursor )

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

  text
    Resource ID of the text you want to insert in the list.
  cursor
    A list 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 after the cursor.

  Overload 1

      public:
      virtual IListBox&
        addAsNext( const char* item,
                   Cursor& cursor )

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

  item
    The text you want to insert.
  cursor
    A list 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 IListBox&
        addAsNext( const IResourceId& text,
                   Cursor& cursor )

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

  text
    Resource ID of the text you want to insert in the list.
  cursor
    A list 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 the line of text in descending sort order and returns the index of the item inserted.

  text
    The text string to be inserted into the list box.

Supported Platforms

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

  Overload 2

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

  Inserts the line of text, corresponding to the resource identifier, in descending sort order and returns the index of the item inserted.

  item
    The resource ID of the text string.

Supported Platforms

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

### Fonts

setFont

      public:
      virtual IWindow& setFont(const IFont& font)

  Sets the font of the listbox to the indicated font.

Supported Platforms

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

### Notification Members

These INotificationId members define the possible notifications that IListBox provides to its observers. The following events can be observed:

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

addId

      public:
      static INotificationId const addId

  This notification identifier is the notification IListBox objects provide their observers when an item is added to the list 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 IListBox objects provide their observers when an item is removed from the list 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.

remove

      public:
      virtual unsigned long remove(unsigned long index)

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

  index
    The index of the text string that is removed.

Supported Platforms

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

removeAll

      public:
      virtual IListBox& removeAll()

  Removes all items from the list box.

Supported Platforms

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

removeAt

      public:
      virtual IListBox& removeAt(Cursor& cursor)

  Removes the item at the cursor and places the cursor at the next available valid item.

  cursor
    A list box cursor.

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 IListBox&
        replaceAt( const char* item,
                   const Cursor& cursor )

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

  item
    The text string.
  cursor
    A list box cursor object.

Supported Platforms

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

  Overload 2

      public:
      virtual IListBox&
        replaceAt( const IResourceId& text,
                   const Cursor& cursor )

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

  text
    The resource ID of the text string to replace in the list box.
  cursor
    A list box cursor object.

Supported Platforms

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

### Styles

Use these members to define, set, and retrieve the IListBox default style.
Note: The IListBox class inherits its style behavior from IBaseListBox 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 the style 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 list boxes.

  style
    Use the styles provided by IListBox Styles to specify the default list box 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: IBaseListBox::horizontalScroll | IBaseListBox::noAdjustPosition | IWindow::visible.

  If you do not specify either the extendedSelect or multipleSelect style, the list box is a single-selection list box by default.

Supported Platforms

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

### IListBox - Type Definitions

Cursor

      typedef IBaseListBox::Cursor Cursor

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

Supported Platforms

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

### IListBox - Inherited Member Functions and Data

#### Inherited Public Functions

  IBaseListBox

  -     virtual ~IBaseListBox()

  -     virtual IColor backgroundColor() const

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

  -     virtual unsigned long count() const

  -     virtual IBaseListBox& deselect(unsigned long index)

  -     virtual IBaseListBox& deselectAll()

  -     virtual IBaseListBox& disableDrawItem()

  -     virtual IBaseListBox& disableExtendedSelect()

  -     virtual IBaseListBox& disableMultipleSelect()

  -     virtual IBaseListBox& disableNoAdjustPosition()

  -     virtual IString elementAt(const Cursor& cursor) const

  -     virtual IBaseListBox& enableDrawItem(bool enable = true)

  -     virtual IBaseListBox&
          enableExtendedSelect( bool enable = true )

  -     virtual IBaseListBox&
          enableMultipleSelect( bool enable = true )

  -     virtual IBaseListBox&
          enableNoAdjustPosition( bool enable = true )

  -     virtual IBaseListBox&
          enableNotification( bool enable = true )

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

  -     IBaseListBox(const IWindowHandle& handle)

  -     IBaseListBox(unsigned long id, IWindow* parent)

  -     bool isDrawItem() const

  -     virtual bool isEmpty() const

  -     bool isExtendedSelect() const

  -     bool isHorizontalScroll() const

  -     bool isMultipleSelect() const

  -     bool isNoAdjustPosition() const

  -     virtual bool isSelected(unsigned long index) const

  -     virtual unsigned long itemHandle(unsigned long index) const

  -     unsigned long itemHeight(unsigned long index = 0) const

  -     virtual IString itemText(unsigned long index) const

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

  -     unsigned long minimumCharacters() const

  -     unsigned long minimumRows() const

  -     virtual unsigned long numberOfSelections() const

  -     virtual IBaseListBox& scrollToItem(unsigned long index)

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

  -     virtual IBaseListBox& selectAll()

  -     virtual long selection() const

  -     virtual IBaseListBox&
          setBackgroundColor( const IColor& color )

  -     virtual IBaseListBox&
          setForegroundColor( const IColor& color )

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

  -     virtual IBaseListBox&
          setItemHeight( unsigned long newHeight )

  -     virtual IBaseListBox&
          setItemText( unsigned long index,
                       const IResourceId& string )

  -     virtual IBaseListBox&
          setItemText( unsigned long index,
                       const char* string )

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

  -     virtual IBaseListBox&
          setMinimumCharacters( unsigned long minimumCharacters )

  -     virtual IBaseListBox&
          setMinimumRows( unsigned long minimumRows )

  -     virtual IBaseListBox& setTop(unsigned long index)

  -     virtual IWindow& show(bool showList = true)

  -     virtual unsigned long top() const

  IControl

  -     virtual ~IControl()

  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

  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 IColor foregroundColor() 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 hasFocus() const

  -     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(const IWindowHandle& handle)

  -     IWindow(unsigned long identifier, IWindow* parent)

  -     virtual IRectangle layoutAdjustment() const

  -     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 IRectangle nativeRect() const

  -     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 IPoint position() const

  -     virtual IWindow&
          positionBehindSibling( const IWindowHandle& siblingWindow )

  -     virtual IWindow& positionBehindSiblings()

  -     virtual IWindow& positionOnSiblings()

  -     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 const IWindow& postEvent(const IEvent& event) 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(const IEvent& event) const

  -     virtual IEventResult
          sendEvent( unsigned long eventId,
                     const IEventParameter1& parm1 = 0,
                     const IEventParameter2& parm2 = 0 ) 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& 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 ISize size() const

  -     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 )

  -     virtual IRectangle visibleRectangle() const

  -     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

  IBaseListBox

  -     static const Style border3D

  -     static const Style drawItem

  -     static INotificationId const enterId

  -     static const Style extendedSelect

  -     static INotificationId const
          extendedSelectChangedId

  -     static const unsigned long first

  -     static const Style horizontalScroll

  -     static INotificationId const itemChangedId

  -     static INotificationId const itemsId

  -     static const Style multipleSelect

  -     static const Style noAdjustPosition

  -     static const unsigned long notFound

  -     static INotificationId const selectId

#### 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,
                  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 ( ) )

  -     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 )

  -     IWindow& defaultProcedure(IEvent& event)

  -     bool deleteIsInProcess() const

  -     bool dispatch(IEvent& event)

  -     virtual unsigned long extendedStyle() const

  -     bool isBoundToMessageQueue() const

  -     virtual bool isDragStarting(IEvent& event)

  -     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)

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

  -     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 short dataValue )

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

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

  -     IWindow&
          startHandlingEventsFor( const IWindowHandle& windowHandle )

  -     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) = 0

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

  IBaseListBox

  -     virtual ISize calcMinimumSize() const

  -     unsigned long changeCount() const

  -     void incrementChangeCount()

  -     virtual bool passEventToOwner(IEvent& event)

  IControl

  -     IControl()

#### Inherited Protected Data

  - None