### IShowListHandler

  The IShowListHandler-derived classes process IControlEvent events for objects of the class IComboBox. For example, a show list event occurs when the user selects the drop-down button of the combination box.

  You can create a handler derived from IShowListHandler and attach it to a combination box or to the combination box's owner window. You do this by calling IHandler::handleEventsFor to pass the combination box or owner window to the show list handler.

  When the show list handler receives a show list event, it creates an IControlEvent object and routes that object to the IShowListHandler::listShown virtual function. Override this virtual function to supply your own specialized processing of a show list event.

  The following return values from the virtual function specifies whether the show list event is passed on for additional processing:

  true
    The show list event requires no additional processing. Do not pass it to another handler.
  false
    The show list event requires additional processing. Pass the show list event to the next handler for additional processing, as follows:
    - If there is another handler for the combination box, pass the show list event to the next handler.
    - If this is the last handler for the combination box, call IWindow::dispatch to dispatch the show list event to the combination box's owner window.
    - For Presentation Manager, if this is the last handler for the owner window, call IWindow::defaultProcedure to process the show list event.

### IShowListHandler - Member Functions and Data by Group

### Constructors & Destructor

The only way to create objects of this class is from a derived class. To enforce this, the only constructor provided for this class is protected. This default constructor can be used by derived classes to create objects of this class. You can destruct objects of this class.

~IShowListHandler

      public:
      virtual ~IShowListHandler()

Supported Platforms

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

IShowListHandler

      protected:
      IShowListHandler()

  Used by derived classes to construct objects of this class. This is the default constructor and accepts no parameters.

Supported Platforms

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

### Event Dispatching

Event-dispatching members evaluate an event to determine if it is appropriate for this handler object to process it. If it is, it calls the virtual function used to process the event.

dispatchHandlerEvent

      protected:
      virtual bool dispatchHandlerEvent(IEvent& event)

  If a show list event is received, the appropriate virtual function is called.

Supported Platforms

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

### Event Processing

Event-processing members must be supplied to process a show list event. You can override these virtual members in a derived class.

listShown

      protected:
      virtual bool listShown(IControlEvent& event) = 0

  Derived classes implement this function to process a show list event.

Supported Platforms

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

### IShowListHandler - Inherited Member Functions and Data

#### Inherited Public Functions

  IHandler

  -     virtual ~IHandler()

  -     virtual IString asDebugInfo() const

  -     virtual IString asString() const

  -     virtual IHandler& disable()

  -     virtual IHandler& enable(bool enable = true)

  -     virtual IHandler& handleEventsFor(IWindow* window)

  -     IHandler()

  -     bool isEnabled() const

  -     virtual IHandler& stopHandlingEventsFor(IWindow* window)

#### Inherited Public Data

  - None

#### Inherited Protected Functions

  IHandler

  -     virtual IEventResult defaultProcedure(IEvent& event)

  -     virtual bool dispatchHandlerEvent(IEvent& event) = 0

#### Inherited Protected Data

  - None