### ISliderArmHandler

  The ISliderArmHandler class handles events that result from movement of the slider arm, either by the user moving the slider arm or by calling one of the functions that change the slider arm position. You can use this handler for both ISlider and ICircularSlider controls.

  You create a handler derived from ISliderArmHandler and attach it to either the slider control or to the control's owner window. You can do this by calling IHandler::handleEventsFor to pass the appropriate slider control window or owner window to the slider arm handler.

  Slider movement events get generated when the user moves the arm of the slider. When the slider arm handler receives a slider movement event, it creates an IControlEvent object and routes that object to the ISliderArmHandler::moving virtual function. You can override this virtual function to supply your own specialized processing of a slider movement event.

  Position change events get generated when the user changes the sliders' position using the increment or decrement buttons or calls a function that moves the slider. When the slider arm handler receives a position change event, it creates an IControlEvent object and routes that object to the ISliderArmHandler::positionChanged virtual function. You can override this virtual function to supply your own specialized processing of a position change event.

  The following return values from the virtual functions specify whether the control event is passed on for additional processing:

  true
    The movement or position change event requires no additional processing. Do not pass it to another handler.
  false
    The movement or position change event requires additional processing. Pass the movement or position change event to the next handler for additional processing, as follows:
    - If there is another handler for the control, pass the movement or position change event to the next handler.
    - If this is the last handler for the control, call IWindow::dispatch to dispatch the event to the control's owner window.
    - If this is the last handler for the owner window, call IWindow::defaultProcedure to process the event.

### ISliderArmHandler - 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 we provide 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.

~ISliderArmHandler

      public:
      virtual ~ISliderArmHandler()

Supported Platforms

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

ISliderArmHandler

      protected:
      ISliderArmHandler()

  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 movement or position change 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 control events for slider arm movements and for changes in position. You can override these virtual members in a derived class.

moving

      protected:
      virtual bool moving(IControlEvent& event)

  Processes slider arm movement events. It is implemented by derived classes.

Supported Platforms

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

positionChanged

      protected:
      virtual bool positionChanged(IControlEvent& event)

  Processes position change events. It is implemented by derived classes.

Supported Platforms

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

### ISliderArmHandler - 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